选择除最近四个之外的所有行

时间:2013-02-06 06:32:42

标签: mysql database select

我有一张桌子(新闻),我尝试选择除最近四个之外的所有行。该表有一个字段news_date(日期格式)和news_id(autoincremet)。结果应该是desc。

MySQL版本: 5.0

表格结构

news_id       (tinyint)  
news_title    (text)  
news_date     (date)

我试过这个

Select *
FROM news AS n
   JOIN
       ( SELECT news_id 
         FROM news 
         ORDER BY news_id       
           LIMIT 1 OFFSET 4
       ) AS lim
     ON n.news_id < lim.news_id ;

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

LIMIT原因允许您设置偏移量。

SELECT * FROM mytable ORDER BY news_date LIMIT 3,18446744073709551615;

初始行的偏移量为0(不是1)。有关详细信息,请阅读'SELECT Syntax' in the MySQL manual

答案 1 :(得分:0)

我会尝试以下方法:

SELECT *
  FROM mytable
 ORDER BY news_date DESC, news_id DESC
 LIMIT 18446744073709551615 OFFSET 3;