SELECT ANS_ID AS 会话ID, CONVERT(VARCHAR(12), [SayTime], 108) AS 时间, Saying as 提问者, Listening as 提问对象, ChatsContent as 提问内容, RoomID
FROM ChatsRecord_ANS
WHERE (Listening = '领导2' AND ANS_BEGIN=0)
ORDER BY ANS_ID,SayTime结果:
1+领导2[1] 14:28:04 1 领导2 32323232 2
10+领导2[1] 11:58:04 10 领导2 电视大赛的 2
10+领导2[1] 11:58:19 10 领导2 dsdsdsdsdsd 2
10+领导2[1] 11:58:58 10 领导2 很尴尬 2
3+领导2[1] 11:53:13 3 领导2 对方答复 2
3+领导2[1] 11:58:11 3 领导2 第三代 2
3+领导2[1] 11:59:02 3 领导2 规范共分 2
侠客+领导2[1] 12:03:29 侠客 领导2 fd f d 2我想要的结果是同一个“ANS_ID”的行在一起,并且“SayTime”按照时间先后排序。
FROM ChatsRecord_ANS
WHERE (Listening = '领导2' AND ANS_BEGIN=0)
ORDER BY ANS_ID,SayTime结果:
1+领导2[1] 14:28:04 1 领导2 32323232 2
10+领导2[1] 11:58:04 10 领导2 电视大赛的 2
10+领导2[1] 11:58:19 10 领导2 dsdsdsdsdsd 2
10+领导2[1] 11:58:58 10 领导2 很尴尬 2
3+领导2[1] 11:53:13 3 领导2 对方答复 2
3+领导2[1] 11:58:11 3 领导2 第三代 2
3+领导2[1] 11:59:02 3 领导2 规范共分 2
侠客+领导2[1] 12:03:29 侠客 领导2 fd f d 2我想要的结果是同一个“ANS_ID”的行在一起,并且“SayTime”按照时间先后排序。
1+领导2[1] 14:28:04 1 领导2 32323232 2 “ANS_ID”:1+领导2[1] 中14:28:04是最早的时间,比起其他“ANS_ID”的时间都要迟,我想实现放在后面。
3+领导2[1] 11:58:11 3 领导2 第三代 2
3+领导2[1] 11:59:02 3 领导2 规范共分 210+领导2[1] 11:58:04 10 领导2 电视大赛的 2
10+领导2[1] 11:58:19 10 领导2 dsdsdsdsdsd 2
10+领导2[1] 11:58:58 10 领导2 很尴尬 2侠客+领导2[1] 12:03:29 侠客 领导2 fd f d 2 1+领导2[1] 14:28:04 1 领导2 32323232 2
ANS_ID 这个字段?
"3+领导2[1]" 是字段ANS_ID的内容。
合并分拆表_整理贴1
http://topic.csdn.net/u/20080612/22/c850499f-bce3-4877-82d5-af2357857872.html
你说的问题不只是“补充一下:“ANS_ID”出现的先后是按照“SayTime”最早的一个时间来决定的。”
每一条数据都会出来这个
先按时间排序,再按会话ID前面的数字排序?
先按时间排序,再按整个会话ID排序(相同的会话ID排在一起)。
这行之所以会跑在前面去,是因为日期比较早吧这样试试SELECT ANS_ID AS 会话ID, CONVERT(VARCHAR(12), [SayTime], 108) AS 时间, Saying as 提问者, Listening as 提问对象, ChatsContent as 提问内容, RoomID
FROM ChatsRecord_ANS
WHERE (Listening = '领导2' AND ANS_BEGIN=0)
ORDER BY ANS_ID,cast('2008-01-01 '+CONVERT(VARCHAR(12),SayTime, 108) as datetime)
如果这个BBS,有且只有两层,或许还可以用SQL语句实现,如果是超过两层,肯定只能用递归了