我正在编写一个查询来从MySQL表中获取记录,如下所示。
SELECT * FROM alerts
我有这个列id是主要和自动增量
id,host,domain,alert_time
但我需要获取没有此表最后记录的记录,任何人都知道如何为此编写MySQL查询。谢谢
答案 0 :(得分:4)
尝试这种方式获取MAX
列id
的值,然后选择除此之外的所有行。
SELECT * FROM alerts WHERE ID != (SELECT MAX(ID) FROM alerts)
答案 1 :(得分:2)
另一种方法是:
SELECT *
FROM alerts a
ORDER BY id DESC
LIMIT 1,99999999
我更喜欢Manish的答案,删除最大的id,但有些情况下这是合适的。例如,如果您想要除最近三条记录以外的所有记录,则使用此方法更容易。
(注意:99999999
只是一个很大的数字来获取其余的行。)