簡體   English   中英

Oracle SQL - 按 date_format 函數分組

[英]Oracle SQL - group by date_format function

有人可以幫我解決我的錯誤嗎? 我正在嘗試計算ID_ACCIDENT列中的不同值,並且我希望它們按月份分組(日期以YYYY/MM/DD格式存儲在DATUM列中)。

我有這段代碼的那一刻:

SELECT DATE_FORMAT(DATUM, '%Y/%M') as "Month",COUNT (DISTINCT ID_ACCIDENT) AS "Počet nehod" 
FROM RAW_DATA
GROUP BY DATE_FORMAT(DATUM, '%Y/%M');

但它不起作用 - error 00904. 00000 - invalid identifier

使用to_date怎么樣,因為這是 Oracle -

select to_char(to_date(datum, 'yyyy/mm/dd'), 'yyyy/mm')) as month,
COUNT (DISTINCT ID_ACCIDENT) as count
from raw_data
group by to_char(to_date(datum, 'yyyy/mm/dd'), 'yyyy/mm'))

如果DATUM是日期,那么

SELECT 
  TRUNC(DATUM, 'MONTH')  as "Month",
  COUNT (DISTINCT ID_ACCIDENT) AS "Počet nehod" 
FROM RAW_DATA
GROUP BY TRUNC(DATUM, 'MONTH');

如果DATUM是 YYYY/MM/DD 格式的字符串,則

SELECT 
  SUBSTR(datum,1,7), 
  COUNT(DISTINCT id) 
FROM raw_data 
GROUP BY substr(datum,1,7)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM