当前位置: 代码迷 >> Sql Server >> 怎样用SQL话语 按日期进行从高到低进行排序呢~
  详细解决方案

怎样用SQL话语 按日期进行从高到低进行排序呢~

热度:65   发布时间:2016-04-27 10:42:04.0
怎样用SQL语句 按日期进行从高到低进行排序呢~~
select * from (select .... from ca_applicant_info cai,ca_order_info coi 
 where coi.USERID = cai.id and coi.ispay=1 and coi.delflag=0 and coi.state=0

 )wk where wk.rn> 0 and wk.rn<=2  
 order by createdate DESC 
这样子写 只能取出前两条记录再进行排序的~~~那不对了!!!我是想 排序后 取出头两天记录的~~~有哪位兄弟知道的 帮下忙哈

------解决方案--------------------
SQL code
SELECT  *FROM    ( SELECT    ...          FROM      ca_applicant_info cai ,                    ca_order_info coi          WHERE     coi.USERID = cai.id                    AND coi.ispay = 1                    AND coi.delflag = 0                    AND coi.state = 0         ORDER BY createdate DESC   --写到这儿        ) wkWHERE   wk.rn > 0        AND wk.rn <= 2
------解决方案--------------------
SELECT *
FROM (SELECT Cai.*,Coi.* ,row_number()over(ORDER BY Cai/Coi.Createdate) rn 
FROM Ca_Applicant_Info Cai, Ca_Order_Info Coi
WHERE Coi.Userid = Cai.Id
AND Coi.Ispay = 1
AND Coi.Delflag = 0
AND Coi.State = 0

) Wk
 WHERE Wk.Rn > 0
AND Wk.Rn <= 2
--ORDER BY Createdate DESC
------解决方案--------------------
不是太明确lz的问题点。

还是请LZ 给表结构,数据,和要求的结果样式吧。
------解决方案--------------------
探讨

恩 是这样的 其实我的目的就是要将数据排序 然后取出X~y条 排序后的记录 现在 行了 感谢 各位 谢谢~~~~二楼的 做法 可以 select * from (select coi.*, row_number()over(ORDER BY Coi.Createdate DESC) rn,from ca_applicant_info cai,ca_order_info coi
……

------解决方案--------------------
探讨
为什么需要改动呢 我这样做也可以啊 这样改动 有什么好处啊~~
  相关解决方案