【发布时间】:2014-10-30 06:17:50
【问题描述】:
我需要按月获取数据并进行排序,为此我尝试了以下查询
select to_char(regn_date,'Mon-yyyy') "Month", count(id) "No of Persons"
from Person
group by to_char(regn_date,'Mon-yyyy')
order by to_char(regn_date,'Mon-yyyy')
我得到的输出是
月人数
Dec-2011 1383
Feb-2012 1230
Jan-2012 1409
Mar-2012 1495
Nov-2011 985
Oct-2011 825
Sep-2011 742
对字符串值进行升序排序,即按 to_char(regn_date,'Mon-yyyy') asc 排序
select to_char(regn_date,'Mon-yyyy') "Month", count(id) "No of Persons"
from Person
group by to_char(regn_date,'Mon-yyyy')
order by to_char(regn_date,'Mon-yyyy') asc
月人数
Dec-2011 1383
Feb-2012 1230
Jan-2012 1409
Mar-2012 1495
Nov-2011 985
Oct-2011 825
Sep-2011 742
获取数据排序后的日期格式显示不同
select to_date(to_char(regn_date,'MM-YYYY'),'MM-YYYY') "Month", count(id) "Number of Persons" from Person
where trunc(regn_date) < '31-MAR-2012'
group by to_date(to_char(regn_date,'MM-YYYY'),'MM-YYYY')
order by to_date(to_char(regn_date,'MM-YYYY'),'MM-YYYY')asc
结果:
月人数
9/1/2011 742
10/1/2011 825
11/1/2011 985
12/1/2011 1383
1/1/2012 1409
2/1/2012 1230
3/1/2012 1495
所需的输出是按日期排序的数据,按升序显示月份和年份。
月人数
Sep-2011 742
Oct-2011 825
Nov-2011 985
Dec-2011 1383
Jan-2012 1409
Feb-2012 1230
Mar-2012 1495
【问题讨论】:
标签: sql database sorting oracle-sqldeveloper