作者b60413 (None)
看板Database
标题[SQL ] 多栏位资料排序
时间Wed Jul 11 16:10:39 2012
我有一个Table资料如下
id d_time num
1 2011-04-06 15:56:54 70
2 2012-07-11 15:56:54 65
3 2012-07-11 15:57:28 60
我想要让资料表依照d_time排序後,再排序num
依照我的想法应该是可以排成下列才是
id d_time num
2 2012-07-11 15:56:54 65
3 2012-07-11 15:57:28 60
1 2011-04-06 15:56:54 70
可是我排完之後,顺序总是不正确,如下表
id d_time num
3 2012-07-11 15:57:28 60
2 2012-07-11 15:56:54 65
1 2011-04-06 15:56:54 70
我想要请问一下要怎样才能排成我想要的方式?
目前使用的SQL语法为
SELECT * FROM test2 order by d_time desc,num desc
请帮忙修正一下,谢谢
--
http://www.myspace.com/soundtrack0220
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.10.32
1F:→ bluepromise:你是要同一天的时间小的先排?不同天又要日期大的先?? 07/11 19:55
2F:推 twoseven:你的时间排序包含到秒? 还是只想要到日 07/11 20:03
3F:推 bluepromise:SELECT * FROM test2 order by 07/11 20:10
4F:→ bluepromise:Convert(varchar(10),d_time,111) desc,num desc 07/11 20:11
5F:→ bluepromise:可以试试看是不是你要的... 07/11 20:12
6F:→ b60413:我想让num由大排到小 但是日期需要由近排到远 07/12 09:28
7F:→ b60413:後来我想了一下我的需求,我把语法修正如下 07/12 09:28
8F:→ b60413:SELECT * FROM `test2` WHERE 07/12 09:29
9F:→ b60413:TIMESTAMPDIFF(day,d_time,CURRENT_TIMESTAMP) < 45 07/12 09:29
10F:→ b60413:ORDER BY num desc 07/12 09:29
11F:→ b60413:谢谢各位的回应! 07/12 09:30