webForumDet fria alternativet

SELECT DISTINCT -och COUNT?

12 svar · 646 visningar · startad av Guldstrand

GuldstrandMedlem sedan juli 20041 274 inlägg
#1

Jag håller på med en "besöksräknare" för bilder, och har lite svårigheter med hur jag ska få ut/visa unika besökare.

Det jag vill göra, är alltså att visa hur många ip-adresser COUNT() som har besökt resp. bild.
Har testat med flera olika "kombinationer", men det slutar alltid med att endast 1 resultat visas. (Det är flera bilder som har besökts av 2 olika ip:n, men de visas inte.)

Ber om ursäkt för ev. oklarheter i min "förklaring" ovan.

@ndersMedlem sedan juni 200026 914 inlägg
#2

Kan se lite olika ut beroende på dbms, men...

SELECT Bild, COUNT(DISTINCT ip-adress) AS Antal
FROM tabell
GROUP BY Bild
GuldstrandMedlem sedan juli 20041 274 inlägg
#3

Var det enkelt. :r
Verkar dock inte "gruppera" helt rätt efter antal.

GROUP BY visits.image_id DESC LIMIT 10
11
12
2
2
1
3
1

:q

@ndersMedlem sedan juni 200026 914 inlägg
#4

Vad menar du?
Det där borde inte ens gå att köra.

...ORDER BY Antal DESC?

GuldstrandMedlem sedan juli 20041 274 inlägg
#5

Jo, det gick att köra så.
Jag kan inte gruppera efter "antal", (Can't group on 'antal').

Kan det bero på att jag hämtar lite tabeller med en INNER JOIN också?
(Kanske skulle ha sagt det från början.)

@ndersMedlem sedan juni 200026 914 inlägg
#6

Varför ska du gruppera på antal? Det finns ingen anledning till det.
Du måste tänka fel.

@ndersMedlem sedan juni 200026 914 inlägg
#7

Var alltid så tydlig som du kan med din fråga. Det hjälper både dig och oss andra.

GuldstrandMedlem sedan juli 20041 274 inlägg
#8

@nders skrev:

Varför ska du gruppera på antal? Det finns ingen anledning till det.
Du måste tänka fel.

Nej, jag tänker inte fel.
Kanske har förklarat fel?

Jag vill såklart sortera resultaten efter den bild som har fått flest besök (x antal olika ip).

@ndersMedlem sedan juni 200026 914 inlägg
#9

Ja, sortera på antal - ORDER BY. Inte gruppera på antal.
Du ska gruppera på bildens id, och sortera på antal.

Om du tänker, skriver eller förklarar fel vet jag inte. :)

GuldstrandMedlem sedan juli 20041 274 inlägg
#10

Om jag kör ORDER BY antal, visas bara ett resultat.

Ge mig gärna en spark i baken, mot rätt riktning.
Har suttit med detta ett tag nu. Suck... :x

@ndersMedlem sedan juni 200026 914 inlägg
#11

Något sånt här borde fungera:

SELECT Bild, COUNT(DISTINCT ip-adress) AS Antal
FROM tabell
GROUP BY Bild
ORDER BY Antal DESC

Om det inte gör det får du visa hela din SQL-fråga och beskriva resultatet bättre.

GuldstrandMedlem sedan juli 20041 274 inlägg
#12

Äntligen! Nu fungerar det precis som jag vill.
Tusen tack för din hjälp och för ditt tålamod.

@ndersMedlem sedan juni 200026 914 inlägg
#13

Lugners. Det är ju fredag! :bire

Genererad på 383 ms · cache AV · v20260730165559-full.f96bc7eb