使用MYSQL和PHP在前50后选择

时间:2014-07-08 07:26:14

标签: mysql sql

我需要在rows的前50行之后选择所有table。我似乎无法找到一种有效的方法。

我可以选择前50个rows,将他们的IDs放在一个数组中,然后创建另一个query来选择除了它们之外的所有内容,但这看起来很浪费。

我似乎找不到能满足我需要的任何东西:

http://www.w3schools.com/sql/default.asp

无论如何在一个SQL query中执行此操作?谢谢你的帮助!

4 个答案:

答案 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  限制中的第二个参数,您可以根据您的表可能具有的行数来设置