数据库排序问题,求救
table one
字段:id,number(int)
table two
字段:id,time(datetime),username,password
sql语句:
SELECT CONVERT(VARCHAR(4),YEAR(YEAR_MONTH)) + '-' + CONVERT(VARCHAR(4),MONTH(YEAR_MONTH)) TIME INTO #L1
FROM
(
SELECT DATEADD(MONTH,-NUMBER,GETDATE()) YEAR_MONTH FROM TABLEONE WHERE NUMBER < 12
) #S
SELECT CONVERT(VARCHAR(4),YEAR(TIME)) + '-' + CONVERT(VARCHAR(4),MONTH(TIME)) TIME,USERNAME,PASSWORD INTO #A FROM TABLETWO
SELECT L.TIME,A.USERNAME, A.PASSWORD FROM #L1 L,#A A WHERE L.TIME *= A.TIME ORDER BY L.TIME DESC
运行结果:
TIME
2007-5
2007-6
2007-7
2007-8
2007-9
2007-10
2007-11
2007-12
2008-1
2008-2
2008-3
2008-4
怎么没有按时间进行倒序排列 ,高手帮忙!!!!!!
------解决方案--------------------自己可以写个函数啊,读取时间后,划分成年月两个模块
进行比较就可以了,呵呵
------解决方案--------------------你的排序没有问题啊!
你看看,年月的顺序很正确!!
------解决方案--------------------不是没有 倒序排列是你对时间大小的理解反了.
你认为 2007-6 和 2008-4 哪个时间大一些.
肯定是 2007-6 大一些啊。所以 是按照 时间 降序排的啊。
------解决方案--------------------这样吗?
2008-4
2008-3
2008-2
SQL code
SELECT L.TIME,A.USERNAME, A.PASSWORD FROM #L1 L,#A A WHERE L.TIME *= A.TIME ORDER BY L.TIME