webForumDet fria alternativet

Count och Max?

4 svar · 319 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

Sparar poster i en databas så här:
Datum(datetime) - userID(int)

Vill nu hämta ut den dag som har mest unika poster ifrån databasen.
Ex: 2006-01-01 hade jag 100 unika inloggningar.

Hur skriver man i sql strängen för att fixa detta? Har MySQL v 4.03

tydalMedlem sedan juni 20034 013 inlägg
#2

SELECT COUNT(DISTINCT(userID)) AS besok, SUBSTRING(datum, 1, 10) AS d FROM din_tabell GROUP BY d ORDER BY besok DESC

AsaMedlem sedan dec. 20011 860 inlägg
#3

Får man ut den dag som hade flest unika inloggningar med den koden? Måste inte Max med i strängen?

tydalMedlem sedan juni 20034 013 inlägg
#4

Asa skrev:

Får man ut den dag som hade flest unika inloggningar med den koden?

Ja, "ORDER BY besok DESC" betyder att den sorterar datumen efter antalet "besök" (unika inloggningar) i fallande ordning, så det datum med flest inloggningar kommer först. Är det bara det datumet du är intresserad av kan du ju lägga till LIMIT 1 sist så får du inga fler datum.

Asa skrev:

Måste inte Max med i strängen?

Nej, det måste han inte.

AsaMedlem sedan dec. 20011 860 inlägg
#5

Haha, tänkte inte på det ;)

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