我有一个有 3 列的表。(日、月、年)
该语句按时间顺序给出结果。
SELECT * FROM table WHERE = 'condition' ORDER BY year, month, day
我怎样才能以相反的顺序得到它?
您需要在查询中反转排序顺序:
SELECT * FROM table WHERE = 'condition' ORDER BY year DESC, month DESC, day DESC
但是,为年、月和日设置单独的列会适得其反,因为所有这些都可以在一个单一DATE
类型的列中表示。这可以被索引并且在实践中要快得多:
SELECT * FROM table WHERE ... ORDER BY date_column DESC
尝试这个:
SELECT * FROM table
WHERE = 'condition'
ORDER BY year DESC, month DESC, day DESC
您可以使用ASC
orDESC
关键字。
https://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html
例如:
SELECT *
FROM table WHERE = 'condition'
ORDER BY year DESC,
month DESC,
day DESC