首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

数据库排序有关问题,求救

2011-11-08 
数据库排序问题,求救table one字段:id,number(int)table two字段:id,time(datetime),username,passwordsql

数据库排序问题,求救
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 

热点排行