简体   繁体   English

sql查询按月的天分组

[英]sql query group by day of month

I have a record table that icludes dates of rows created. 我有一个记录表,其中包含创建的行的日期。 (oracle db) (Oracle数据库)

ID    City       CreateDate
1     city-1     12.12.2017
1     city-2     13.12.2017
1     city-1     13.12.2017
1     city-3     12.12.2017
....
....

I want to create a daiy report in a month. 我想在一个月内创建一份每日报告。 For example City-1 report by days in December 例如12月天数的City-1报告

Day    Count
1      10
2      80
3      60
4      10
...
30     11

I think you can use extract with count functions: 我认为您可以将提取与计数功能一起使用:

SELECT EXTRACT(day FROM CreateDate) "Day",
      COUNT(CreateDate) "Number of Reports"
      FROM yourTableName
      GROUP BY EXTRACT(day FROM CreateDate)
      ORDER BY "Number of Reports" ASC;

如果我正确理解,以下查询将生成您想要的12月份的报告。

SELECT EXTRACT(day FROM CreateDate) "Day", COUNT(*) "Count" FROM your_record_table WHERE EXTRACT(month FROM CreateDate) = 12 GROUP BY EXTRACT(day FROM CreateDate) ORDER BY EXTRACT(day FROM CreateDate);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM