webForumDet fria alternativet

gruppera datetime fält på månad, dag och timme

Databaser & SQL

4 svar · 242 visningar · startad av max

Medlem sedan jan. 200090 inlägg
Frågan#1

Hej

Lyser solen på er?

Vill någon hjälpa mig med och få till det när det gäller att gruppera ett datetime fält på månad, dag och timme. Frågan ser ut enligt följande och det ger följande resultat.

SELECT [DateTime] As Månad, COUNT(*) AS "Antal frågor" FROM Logg
WHERE sModul = 'Word'
GROUP BY [DateTime]
ORDER BY [DateTime] DESC

Månad Antal frågor
2003-07-05 11:20.01.566 1
2003-07-04 13:34:01.657 1
2003-07-04 14:45.01.766 1

Men vill gärna få till det enligt nedanstående

Månad Antal frågor
2003-07 3

Dag Antal frågor
2003-07-05 1
2003-07-04 2

Tack på förhand

Medlem sedan dec. 200012 464 inlägg
#2
SELECT cast( [DateTime] as varchar(10)) As Månad, COUNT(*) AS "Antal frågor" FROM Logg
WHERE sModul = 'Word'
GROUP BY [DateTime] 
union 
select cast(year([datetime] as varchar(4)) + '-' + cast(month([datetime]) as varchar(2)),
count(*) 
from logg
group by  cast(year([datetime] as varchar(4)) + '-' + cast(month([datetime]) as varchar(2))
order by 1

Vilken DBMS? Är det access så får du byta cast till cstr och + till &.

Medlem sedan jan. 200090 inlägg
#3

Hej LarsG

Tack för ditt svar, dock får jag ett litet meddelande på raden

select cast(year([datetime] as varchar(4)) + '-' + cast(month([datetime]) as varchar(2)), count(*)

Server: Msg 156, Level 15, State 10, Line 5
Incorrect syntax near the keyword 'AS'.

Kör MSSQL.

Ha det så bra.

Medlem sedan dec. 200012 464 inlägg
#4

Jag missade en parentes där

select cast(year([datetime]) as varchar(4)) + '-' + cast(month([datetime]) as varchar(2)), count(*)

och även här

group by  cast(year([datetime])
Medlem sedan jan. 200090 inlägg
#5

LarsG

Man bugar och bockar, du är en klippa.

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)