webForumDet fria alternativet

Få fram datum trots 0 träffar...

4 svar · 296 visningar · startad av Picklezz

PicklezzMedlem sedan jan. 2002414 inlägg
#1
"SELECT date, count( * ) AS votes FROM votes GROUP BY to_days( date ) ORDER BY `date`"

Om nu ingen har röstat ett datum så visas inte den dagen i svaret, går det att få den att lista även dagar med 0 röster?

Jag kan ju fixa det i PHP men tänkte att det är ju smidigare att få resultet direkt från MySQL om det går?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Då behöver du en tabell med alla datum i det intervall som du är intresserad av.

SELECT v.date, count( * ) AS votes 
FROM dateTable dt left join votes v on dt.date = v.date
GROUP BY date
ORDER BY date

Du kan ju ordna det med en nummertabell och lite datumaritmetik också.

PicklezzMedlem sedan jan. 2002414 inlägg
#3

LarsG skrev:

Då behöver du en tabell med alla datum i det intervall som du är intresserad av.

SELECT v.date, count( * ) AS votes 
FROM dateTable dt left join votes v on dt.date = v.date
GROUP BY date
ORDER BY date

Du kan ju ordna det med en nummertabell och lite datumaritmetik också.

Det går inte på nått sätt att hämta från MySQL inbyggda datumhanterare?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Nej.

PicklezzMedlem sedan jan. 2002414 inlägg
#5

LarsG skrev:

Nej.

Oki, det var ju faktiskt lite dumt för det borde ju vara en användbar funktion?!?

Någon som har något phpscript eller liknande för att dra in massa datum i en tabell snabbt, annars får jag skriva ett för så svårt är det ju inte...frågan är dock när jag vill börja...

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