我需要在rows
的前50行之后选择所有table
。我似乎无法找到一种有效的方法。
我可以选择前50个rows
,将他们的IDs
放在一个数组中,然后创建另一个query
来选择除了它们之外的所有内容,但这看起来很浪费。
我似乎找不到能满足我需要的任何东西:
http://www.w3schools.com/sql/default.asp
无论如何在一个SQL query
中执行此操作?谢谢你的帮助!
答案 0 :(得分:7)
您可能正在寻找OFFSET
:
例如:
SELECT * FROM users ORDER BY id LIMIT 100 OFFSET 50
答案 1 :(得分:2)
您可以define抵消:
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
像这样:
SELECT * FROM table1 LIMIT 5, 10; # Retrieve rows 6-15
答案 2 :(得分:0)
DELIMITER //
CREATE PROCEDURE displayDataFromGivenRow(IN from_Id INT)
BEGIN
DECLARE row_count INT;
SELECT count(*) INTO row_count
FROM <table_name>;
SELECT *
FROM <table_name>
LIMIT row_count
OFFSET from_Id;
END //
DELIMITER;
CALL displayDataFromGivenRow(50);
OR
SELECT * FROM table_name LIMIT total_number_of_records OFFSET 50;
答案 3 :(得分:-1)
试试这个 select * from tablename limit 50,100000000 限制中的第二个参数,您可以根据您的表可能具有的行数来设置