Toon posts:

[SQL] GROUP BY optellen? :S

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey,

Ik heb een tabel waar bijv. posts instaan. Er staat een veld 'auteur' tussen, hierin staat de naam van wie het heeft geschreven. Ik wil dat de query de naam selecteert van wie de meeste posts heeft. Dus als de inhoud bijv. is:

1,hoi,erik
2,hoi,maarten
3,hoi,maarten
4,hoi,maarten
5,hoi,erik

Dat de query dan 'maarten' geeft. Ik hoop dat je een beetje begrjipt wat ik bedoel :D Ik kan er wel een PHP code voor verzinnen, maar ik denk dat er ook wel een SQL code voor is..

[ Voor 7% gewijzigd door Verwijderd op 19-01-2003 13:35 ]


Verwijderd

SELECT *,count(auteur) as aantal_posts FROM table GROUP BY auteur ORDER BY aantal_posts DESC

Verwijderd

Topicstarter
Lijkt me niet, dat selecteert het aantal artikelen wat diegene heeft. Niet WIE dat is. En als het wel die code was moest er ook nog LIMIT 1 bij.. :P

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
offtopic:
brak databasemodel. Zelf verzonnen en ben je er bereid wat aan te gaan doen? Of moet het met dit model?

Verwijderd

Topicstarter
owww sorry ik begreep het verkeerd :D Ik moet dan niet aantal_posts gebruiken natuurlijk, maar gewoon auteur... Nogal stom van me. Heel erg bedankt!!

Verwijderd

Topicstarter
nielz wat is hier brak aan dan.

  • vargo
  • Registratie: Januari 2001
  • Laatst online: 29-08 20:39
Ik denk dat Nielsz bedoelt dat je beter een aparte tabel voor posts en een aparte tabel voor auteurs kan gebruiken.
Om een goed relationeel database model te maken kan je een proces doorlopen dat normaliseren heet. Zie de faq of google voor verdere info hierover.

Verwijderd

Topicstarter
Ik denk dat nielz zich dan te snel ergens mee bemoeit, want nergens staat dat het auteurs veld niet een id bevat van een auteur uit een andere tabel (wat wel het geval is).

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Zoiets misschien dan?

code:
1
2
3
4
5
SELECT TOP 1 auteur.auteur, count(table.auteur) as aantal_posts
FROM table
INNER JOIN auteur on table.auteur = auteur.id
GROUP BY auteur.auteur
ORDER BY aantal_posts DESC

Verwijderd

Verwijderd schreef op 02 november 2002 @ 12:10:
...
Er staat een veld 'auteur' tussen, hierin staat de naam van wie het heeft geschreven.
...
Ik snap wel dat Nielsz dat denkt ...

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Ik snap Nielsz ook wel, maar werkt mijn voorbeeld misschien?
Pagina: 1