Vinnaren i pepparkakshustävlingen!
2011-03-01, 11:08
  #1
Medlem
Sweetiepies avatar
Hoppas någon har en lösning på hur jag ska utforma en SQL-fråga.

Jag har en sida med användare som har loggfiler för vad de gör, sedan vill jag visa i en lista på "senaste händelser" alltså ett axplock ifrån vad som händer. Men för att 1 användares logg inte ska pryda denna sätter jag en GROUP BY userid som fungerar ..... MEN med problemet att den bara då kan visa 1 händelse per användare, vilket betyder att man bara kan synas överst i den loggen 1 gång per användare. Så hur kan jag hämta alla händelser och sortera efter datum, men utan att det blir för många ifrån samma användare...
Citera
2011-03-01, 12:25
  #2
Medlem
dethalvabarnets avatar
databasdiagram?
Citera
2011-03-01, 17:22
  #3
Medlem
Narkotikovs avatar
Kod:
select id from users where user = $_POST['user'] order by date limit 5

Någonting sådant kanske? Jag har inte testat SQL-frågan.
Citera
2011-03-01, 18:48
  #4
Medlem
z0mfg(ish)s avatar
Kanske
Kod:
SELECT DISTINCT(id), something, something_else, oh_and_this FROM users ORDER BY date DESC LIMIT 5

Om jag inte helt missminner mig ang. DISTINCT så kan du göra såhär - tanken är att den ska välja ut de 5 senaste händelserna, men bara 1 händelser per ID.
Testa
Citera
2011-03-02, 05:53
  #5
Medlem
Sweetiepies avatar
Citat:
Ursprungligen postat av z0mfg(ish)
Kanske
Kod:
SELECT DISTINCT(id), something, something_else, oh_and_this FROM users ORDER BY date DESC LIMIT 5

Om jag inte helt missminner mig ang. DISTINCT så kan du göra såhär - tanken är att den ska välja ut de 5 senaste händelserna, men bara 1 händelser per ID.
Testa
Tack! Testade en massa med DISTINCT men den verkar inte fungera när man använder JOINs... den ignorerar distincten och ser inte mitt userid som unikt...
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback