1

我正在使用 MySQL,我查看了一些 SQL 教程,我看到这是一个名为 的语句,ORDER BY通常是ORDER BY一个列,带有AESCor DESC。但这是否可以ORDER通过不同的排序算法来处理数据?

例如,我的数据库中有以下值:

`id`,`name`,`notice_day`

我想先sort有今天的那一天,然后是靠近今天的那一天,然后,明天....巴巴巴,在整理完今天、未来、昨天和到目前为止的日子之后......这里是例如,今天的 assame 是1/1/2012

`1`, `peter`, `1/1/2012`
`2`, `tom`, `31/12/2011`
`3`, `mary`, `1/2/2012`
`4`, `steve`, `1/1/2011`
`5`, `bill`, `1/4/2012`

我想要的排序顺序在这里:

`1`, `peter`, `1/1/2012`

`3`, `mary`, `1/2/2012`

`5`, `bill`, `1/4/2012`

`2`, `tom`, `31/12/2011`

`4`, `steve`, `1/1/2011`
4

2 回答 2

1

如果notice_day 是今天或将来,那么升序,如果notice_day 是过去,降序?可以做类似的事情:

select * from my_table order by if(notice_day >= date(now()), notice_day, 9999) asc, notice_day desc

于 2012-08-04T07:47:44.840 回答
0
SELECT * FROM ##### ORDER BY CONVERT(DateTime, EventDate,101)  DESC

mySQL 不是我的强项,但我相信以上内容应该可行。

于 2012-08-04T00:47:19.490 回答