FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Jag har en kolumn med datum i en databas (MySQL). Kolumnen är av typen DATETIME och värdena har alltså formen 'YYYY-MM-DD HH:MM:SS'. Nu skulle jag vilja räkna hur många rader som har ett visst datum, alltså oberoende av klockslaget. Vilket är bästa sättet?
Ska man använda WHERE och ange värden som ligger mellan t.ex. 2005-02-01 00:00:00 och 2005-02-01 23:59:59? Finns det någon färdig syntax i MySQL? En annan variant är ju att läsa in alla rader i php och där gruppera och summera. Kanske ska tillägga att jag som resultat vill få presenterat en lista över alla dagar (från ett visst datum till dagens datum) och hur många poster i databasen som har resp. datum (oavsett klockslag). Jag borde inte vara den första som funderat på detta... |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
select * from MyTable where datum LIKE '2005-02-01%'
LIKE är en wildcard funktion och wildcard-tecknet är då % |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Tack, det var ju enkelt. Då är det bara att göra en loop i php-skriptet från startdatumet till dagens datum och skicka en sql-fråga för varje datum. I mitt fall rör det sig då om max 150 frågor, så det borde fungera bra utan att det blir segt.
Men finns det något sätt att låta databasmotorn göra så mycket som möjligt av jobbet? Dvs formulera frågan så att svaret blir en kolumn med datum och en kolumn med antal poster. Förtydligar mig för säkerhets skull: Om tabellen ser ut ungefär så här... Kod:
datum text 2005-01-20 14:25:00 "dummy value" 2005-01-20 21:03:18 "dummy value" 2005-01-21 08:07:30 "dummy value" 2005-01-23 12:00:47 "dummy value" 2005-01-23 16:26:01 "dummy value" 2005-01-23 22:56:17 "dummy value" Kod:
datum antal 2005-01-20 2 2005-01-21 1 2005-01-22 0 2005-01-23 3 |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Mycket flitig postare
|
Självklart går det med en fråga:
Kod:
select LEFT(date_column,10) as mydate, count(*) from mytable group by mydate |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|