[SQL]

Pagina: 1
Acties:

  • helpme
  • Registratie: Oktober 2000
  • Laatst online: 22:05
Ik heb een query waar ik al de hele ochtend mee zit te prutsen, en er maar niet uitkom.

ik heb 2 tabellen
[categorie]
id
timestamp
tekst

[fotos]
id
categorie
timestamp
naam
bekeken (int met een getal van hoevaak deze foto bekeken is)
reacties

nou wil ik een overzicht van alle categorieen, met daarbij de foto van die categorie die het meest bekeken is.

Nou kan ik geen gebruik maken van IN, omdat mijn mysql versie dat niet ondersteund.
Dit is wat ik tot nu toe heb, alleen kreeg ik hier de eerst foto, en niet de meest bekeken foto.

nog een poging:
code:
1
2
3
4
5
SELECT DISTINCT categorie.id, categorie.tekst, max(fotos.bekeken), fotos.naam
from categorie, fotos
WHERE fotos.categorie = categorie.id
GROUP BY categorie.id, categorie.tekst
ORDER BY 3 DESC


Nu krijg ik bijna de juiste gegevens, alleen horen de gegevens van het veld naam niet bij de rest

aan moderator: betere titel: [SQL] 2 tabbelen: max

[ Voor 26% gewijzigd door helpme op 30-08-2005 15:27 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Bedenk ff een betere titel voor je topic, dan kan ik dat alvast aanpassen.
Pas ook ff je topic aan zodat je je 'code' tussen code-tags zet.

Wat is het veld 'bekeken' in die tabel ? Is dat een teller die aangeeft hoeveel x een foto bekeken is ?

Lees ook eens in de P&W FAQ het stukje over GROUP BY, want je GROUPED verkeert. MySQL laat jouw manier wel toe, maar affaik kan je niet garanderen dat je juiste resultaten krijgt.
GROUP BY doe je op ieder veld dat voorkomt in je SELECT list, en geen aggregaat functie is, ik zie trouwens nergens een aggregaat functie.

[ Voor 70% gewijzigd door whoami op 30-08-2005 14:14 ]

https://fgheysels.github.io/