我在events_table
中有一个事件列表,我以yyyy-mm-dd
格式存储事件日期。
我需要按日期对事件进行排序:
(SELECT * from events_table ORDER BY date DESC)
但如果我在类似的日期有超过1个事件,那么排序工作是错误的。
我想按日期和ID排序,以查看正确的顺序(首先是新事件)。
我知道好的做法是使用timestamp
,但是因为用户可以介绍一天或两天前的事件信息,而且这种方法在我的情况下不起作用。
答案 0 :(得分:0)
您可以按多个字段进行排序。
SELECT * from events_table ORDER BY date DESC, id;
答案 1 :(得分:0)
如果您希望按日期先降序,然后按ID升序,请使用以下 -
SELECT * from events_table ORDER BY date DESC, id ASC;
如果您希望按日期先降序,然后按ID降序,请使用以下 -
SELECT * from events_table ORDER BY date DESC, id Desc;
如果id是主键和auto_increment那么就没有必要在日期使用排序,因为id的排序就足够了,并且会更加优化。
SELECT * from events_table ORDER BY id Desc;