Sql,其中id =总ids

时间:2010-07-16 22:27:20

标签: mysql

是否可以执行id列在最后50行内的select查询? 就像WHERE id>总id - 50。

那样的东西? 不确定语法! 干杯

5 个答案:

答案 0 :(得分:10)

此?

SELECT *
FROM `table`
ORDER BY `id` DESC
LIMIT 50

答案 1 :(得分:1)

如果您只想要最后50个项目,可以使用上述内容,这可能是最干净,最好的方法。但如果您出于某种原因真的关心ID,可以使用MAX函数:

SELECT * 
    FROM table 
    WHERE id > (SELECT MAX( id ) FROM table) - 50 
          AND whatImLookingFor = 'Somesuch'

这当然不是非常有效,而且有点不合理,但会完全按照你的要求行事。

答案 2 :(得分:0)

您可以将ORDER BY与LIMIT结合使用来实现此目的。您可以在docs on SELECT

中了解相关信息

答案 3 :(得分:0)

类似的东西:

SELECT * FROM table ORDER BY ID DESC LIMIT 50

答案 4 :(得分:0)

您的意思是只选择最后50行,还是选择最后50行中的某些内容?这是你从过去的50中选择的方式:

SELECT *
  FROM table
 WHERE id IN ( SELECT id FROM table ORDER BY id DESC LIMIT 50 )
   AND whatImLookingFor = 'Something'

编辑:或者在使用其他语法的数据库中:

SELECT *
  FROM table
 WHERE id IN ( SELECT TOP 50 id FROM table ORDER BY id DESC )
   AND whatImLookingFor = 'Something'