![]() |
MySQL count & inte räkna duplicates
Hej,
Bygger ett litet röstningssystem. Tabell: ID | IP | Försöker räkna ihop hur många gånger ID #1 finns i en tabell och gruppera det via IP address så att inte dubbla röster visas. Får inte riktigt till mysql- satsen. Det finns två stycken poster med ID #1, från samma IP och den visar fortfarande siffra 2 i printen. Någon som kan ge mig lite vägledning? Citat:
|
SELECT COUNT(DISTINCT ip) FROM votes WHERE id=1
|
Tack så mycket Kekke!
|
En till fråga. Trodde jag fått det att fungerat men den räknar inte mer än +1 och inte mindre än -1...
Citat:
|
Klurade ut det! Tack ändå!
|
Annars kan man se till att samma IP inte kan finnas mer än en gång i databasen. Sätt UNIQUE eller PRIMARY på IP-kolumnen (eventuellt tillsammans med en annan kolumn). Om man vill kan man göra UPDATE i de fall IP-adressen redan finns i databasen.
|
Citat:
Men däremot kan man när man lägger in query'n, se till så att det bara finns 1 ip per unik post. |
Citat:
|
Hej!
Det var precis det jag gjorde istället! Hade en dum idé först och det var att låta besökaren rösta på samma flera gånger men att bara 1 röst visas ändå. Så gjorde om det så att bara det går att rösta om det inte redan finns en IP på den IDn. Blev lättare så :) |
Citat:
|
Alla tider är GMT +2. Klockan är nu 14:17. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson