Toon posts:

[SQL] vergelijk rijen op 2 dezelfde velden

Pagina: 1
Acties:
  • 141 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met een MP3 database met selecteer/ zoek/ top20/ full albums functies. Nou wil dit goed lukken alleen bij de laatste functie loop ik vast.

probleem 1: Ik wil het aantal rijen waar 2 velden hetzelfde zijn weergeven. Als dezelfde artist en album meer dan 6x voorkomt wordt hij weergeven.

Ik had iets maar dat is het ook niet helemaal.

<? SELECT artist, album, count(album) FROM final GROUP BY artist HAVING count(album)>6 ?>

probleem 2: Andere mogelijkheid: Als het album meer dan 6x voorkomt maar met verschillende artiesten krijgt de artiest de waarde "diverse artiesten".

Wie kan mij helpen???????

Verwijderd

SELECT artist
, album
, count(album) as aantal
FROM final
GROUP BY artist
HAVING aantal >6

Verwijderd

Topicstarter
he ook hier!! ook al bij PHP freakz.
Op 1 van de 2 reageren is ook goed hoor.

album toevoegen bij GROUP BY werkt prima.

Bedankt!!

Verwijderd

probleem 2:

SELECT CASE count(artist)
WHEN count(artist) > 1
THEN
artist
ELSE 'Diverse'
END
, album
, count(album) as aantal
FROM final
GROUP BY artist, album
HAVING aantal > 6

  • Killemov
  • Registratie: Januari 2000
  • Laatst online: 11-09 10:38

Killemov

Ik zoek nog een mooi icooi =)

(SELECT artist, album, count(album) FROM final GROUP BY artist HAVING count(album)>6)
==
(SELECT artist, album, count(album) as aantal FROM final GROUP BY artist HAVING aantal>6) :?

Toch? De eerste is volgens mij de juiste, de SQL-parser moet maar uitzoeken hoe dit het beste kan worden uitgevoerd. Of is dit een specifieke work-around voor mySQL?

Hey ... maar dan heb je ook wat!