webForumDet fria alternativet

Gruppera på Timma OCH Minut?

Databaser & SQL

3 svar · 1 374 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tja!

Med följande fråga kan kan räkna antal bokningar på vissa timmar:

SELECT DATE_FORMAT( `not_confirmed`, '%H:00' ) AS `Timma`, COUNT(`not_id`) AS Antal
FROM `school_notifies`
WHERE DATE_FORMAT(`not_confirmed`, '%Y-%m-%d') = '2015-02-16'
GROUP BY DATE_FORMAT( `not_confirmed`, '%Y-%m-%d %H' )
ORDER BY DATE_FORMAT( `not_confirmed`, '%Y-%m-%d %H' ) ASC

not_confirmed är av typen DATETIME. Nu vill jag istället gruppera på både timma och minut, men får det inte alls att stämma. Har testat %H%m i min GROUP BY, har testat med HOUR(`not_confirmed`), MINUTE(`not_confirmed`) men det blir ändå t.ex. 08:02 flera gånger i resultatet.

Vad är det jag missar?

Tack!

Medlem sedan dec. 20025 483 inlägg
#2
SELECT hour( `not_confirmed` ) AS `Timma`, minute( `not_confirmed` ) AS `Minut`, COUNT(*) AS Antal
FROM `school_notifies`
WHERE DATE_FORMAT(`not_confirmed`, '%Y-%m-%d') = '2015-02-16'
GROUP BY hour( `not_confirmed`  ), minute( `not_confirmed` )
Medlem sedan feb. 20034 441 inlägg
#3

Yes, det där fungerar. Men varför funkar inte det här?

SELECT DATE_FORMAT(`not_confirmed`, '%H:%m') AS `Minut`, COUNT(*) AS Antal
FROM `school_notifies`
WHERE DATE_FORMAT(`not_confirmed`, '%Y-%m-%d') = '2015-02-16'
GROUP BY DATE_FORMAT(`not_confirmed`, '%H:%m')

Det borde ju vara samma sak!? Problemet med frågan ovan är att jag ändå måste blanda in PHP för att få till formatera tidsstämpeln. Kan inte MySQL gruppera efter tid? Även om jag lägger till DATE_FORMAT(`not_confirmed`, '%H:%m') AS `Tid` i min SELECT, så blir alla poster 07:02, 08:02 etc... inte den rätta tiden, vilket är helt sjukt... Det går ju utmärkt att gruppera efter timma om jag använder DATE_FORMAT, så att det inte ska gå med TIMMA:MINUT låter ju underligt?

Medlem sedan dec. 20025 483 inlägg
#4

Anledningen till att det där inte blir som du vill är att %m = månad ;)

Om du ändrar formatsträngen till %H:%i i stället så blire bättre :)

250 ms totalt · 3 externa anrop · v20260731065814-full.eb2a8c97
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)