Toon posts:

[MYSQL] Selecteren van meerdere unieke waardes

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat ik graag zou willen is dat van een tabel de unieke waardes worden opgeteld en bij meer dan 3 unieke waardes het resultaat getoond wordt. Ik heb nu zoiets als dit:

code:
1
SELECT SUM(uniekerecepten) as aantalRecepten FROM recepten WHERE aantalRecepten >= '3';


Maar dat werkt dus niet. Tevens moeten het unieke recepten zijn. Iets van UNIQUE(SUM(unikerecepten)) en daar dus meer dan 3 van. Wie weet raad?

Acties:
  • 0 Henk 'm!

  • hellfighter87
  • Registratie: Mei 2008
  • Laatst online: 10:03
zoiets?, ik heb het niet getest en kan zijn dat je GROUP BY en HAVING moet omdraaien
code:
1
SELECT uniekerecepten, SUM(uniekerecepten) as aantalRecepten FROM recepten GROUP BY uniekerecepten HAVING aantalRecepten >= '3';

[ Voor 3% gewijzigd door hellfighter87 op 12-10-2017 14:54 ]


Acties:
  • +1 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 08-10 16:12
Ik denk dat je even hier naar moet kijken (en misschien @hellfighter87 ook - Oke misschien jij niet, ik dacht dat een alias niet in een HAVING kon, maar da's alleen MSSQL :+), maakt het wat duidelijker hoe je zoiets zou kunnen doen: Programming FAQ - SQL
Dit linkt naar 't "Hoe werkt GROUP BY nu eigenlijk?" deel van de FAQ.

[ Voor 33% gewijzigd door Merethil op 12-10-2017 15:18 ]


Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 10:06

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Ik zou het met COUNT proberen en ipv UNIQUE kan je het recordID gebruiken (ga er vanuit dat die er is)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank jullie wel het is in elk geval dit geworden.

code:
1
SELECT COUNT(uniekerecepten) as aantalRecepten FROM recepten GROUP BY uniekerecepten HAVING aantalRecepten >= '3';

Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
het lijkt me niet dat je hiermee bereikt wat je wilt bereiken (afgaande op je TS), maar als jij er tevreden mee bent...

eerst SUM dan COUNT... en geeneen keer beiden... niet logisch n.a.v. TS

[ Voor 23% gewijzigd door P.O. Box op 12-10-2017 16:54 ]


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Verwijderd schreef op donderdag 12 oktober 2017 @ 15:44:
Dank jullie wel het is in elk geval dit geworden.
code:
1
HAVING aantalRecepten >= '3';
Hint: aantalRecepten is een INT niet een (VAR)CHAR ;)

Maak je niet druk, dat doet de compressor maar

Pagina: 1