0

我有一个有 3 列的表。(日、月、年)

该语句按时间顺序给出结果。

SELECT * FROM table WHERE = 'condition' ORDER BY year, month, day

我怎样才能以相反的顺序得到它?

4

3 回答 3

4

您需要在查询中反转排序顺序:

SELECT * FROM table WHERE = 'condition' ORDER BY year DESC, month DESC, day DESC

但是,为年、月和日设置单独的列会适得其反,因为所有这些都可以在一个单一DATE类型的列中表示。这可以被索引并且在实践中要快得多:

SELECT * FROM table WHERE ... ORDER BY date_column DESC
于 2013-09-16T20:55:04.690 回答
1

尝试这个:

SELECT * FROM table
WHERE = 'condition'
ORDER BY year DESC, month DESC, day DESC
于 2013-09-16T20:54:47.797 回答
1

您可以使用ASCorDESC关键字。

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
于 2013-09-16T20:54:56.250 回答