[英]Format date for SQL query aggregating date
我有此查詢可正確提取數據,但我希望時間戳字段(TIM)的格式不是Day(TIM)。 但是我得到了錯誤,因為查詢正在以這種方式聚合。
SELECT
DAY(TIM) As 'Day',
[G.TRU] = SUM(case when SEC = 'TRU' and TYP = 'GEO' then 1 else 0 end),
[G.LOA] = SUM(case when SEC = 'LOA' and TYP = 'GEO' then 1 else 0 end),
[G.SEA] = SUM(case when SEC = 'SEA' and TYP = 'GEO' then 1 else 0 end),
[R.SEA] = SUM(case when SEC = 'SEA' and TYP = 'RTE' then 1 else 0 end),
TOTAL = COUNT(TIM)
FROM AGEO
WHERE SRC = 'EW'
GROUP BY DAY(TIM)
結果:
Day G.TRU G.LOA G.SEA R.SEA TOTAL
-----------------------------------------------
25 2 4 14 1 21
26 3 0 2 9 14
-----------------------------------------------
我希望25和26采用YYYY-MM-DD格式。 有辦法嗎?
不-您要按 DAY(TIM) 分組 ,因此同一天可能會有不同的月份和年份。 例如,假設您有兩行,一排在1月1日,一排在2月1日-它們將匯總在一起,那么您希望為該結果行檢索哪一行?
編輯:好的,我不是SQL專家,但是我認為您想要類似的東西:
SELECT
CONVERT(Date, TIM) As TIMDATE,
[G.TRU] = SUM(case when SEC = 'TRU' and TYP = 'GEO' then 1 else 0 end),
[G.LOA] = SUM(case when SEC = 'LOA' and TYP = 'GEO' then 1 else 0 end),
[G.SEA] = SUM(case when SEC = 'SEA' and TYP = 'GEO' then 1 else 0 end),
[R.SEA] = SUM(case when SEC = 'SEA' and TYP = 'RTE' then 1 else 0 end),
TOTAL = COUNT(TIM)
FROM AGEO
WHERE SRC = 'EW'
GROUP BY TIMDATE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.