[英]Oracle-SQL group by year
我有下表格式的数据
Start date Unit_id
1-Jan-20 1
20-Jan-20 2
2-Feb-19 3
4-Feb-20 4
30-Mar-20 5
从上表中,我需要编写一个查询来给我以下答案:
Year Month Count
2020 Jan 2
2020 Feb 1
2020 Mar 1
2019 Feb 1
你只想按月聚合吗?
select to_char(startdate, 'YYYY') as year,
to_char(startdate, 'Mon') as mon,
count(*)
from t
group by to_char(startdate, 'YYYY'),
to_char(startdate, 'Mon')
orderby min(startdate);
您可以按月使用trunc
并按如下方式对它们进行group
:
SELECT
TO_CHAR(TRUNC(STARTDATE, 'Mon'), 'YYYY') AS YEAR,
TO_CHAR(TRUNC(STARTDATE, 'Mon'), 'Mon') AS MONTH,
COUNT(1)
FROM
YOUR_TABLE T
GROUP BY
TRUNC(STARTDATE, 'Mon');
干杯!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.