Max functie wordt niet uitgevoerd
Hallo,
Ik ben bezig met het schrijven van een SQL query, waarin een join en een max functie zit.
De join wordt wel uitgevoerd maar de max functie niet.
Mijn vraag is: Hoe kan ik de max functie wel uitvoeren zodat ik 1 record terug krijg?
alvast bedankt
Ik ben bezig met het schrijven van een SQL query, waarin een join en een max functie zit.
De join wordt wel uitgevoerd maar de max functie niet.
Mijn vraag is: Hoe kan ik de max functie wel uitvoeren zodat ik 1 record terug krijg?
Code (php)
1
2
3
4
2
3
4
SELECT a.Omschrijving, p.Prijs, MAX( a.Alcohol) as MaxAlcohol
from Artikelen a, Prijslijst p
WHERE a.ArtikelCode = p.ArtikelCode
GROUP BY a.Omschrijving, p.Prijs;
from Artikelen a, Prijslijst p
WHERE a.ArtikelCode = p.ArtikelCode
GROUP BY a.Omschrijving, p.Prijs;
alvast bedankt
Hoe kun je groeperen op een omschrijving? :/
Ik zou eerder verwachten dat je groepeert op een type of soort, en wellicht in een prijsklasse (een interval, maar niet op een specifieke prijs).
Ik zou eerder verwachten dat je groepeert op een type of soort, en wellicht in een prijsklasse (een interval, maar niet op een specifieke prijs).
haal voor elke combinatie van omschrijving en prijs de max-alcohol erbij.
Dus als je hebt
bier 4.95 3
bier 4.95 3.5
wijn 5.95 5
wijn 6.95 5
dan krijg je als resultaat
bier 4.95 3.5
wijn 5.95 5
wijn 6.95 5
dus alleen als omschrijving en prijs vaker dan 1x voorkomen, zie je een effect van de functie MAX.
Dus als je hebt
bier 4.95 3
bier 4.95 3.5
wijn 5.95 5
wijn 6.95 5
dan krijg je als resultaat
bier 4.95 3.5
wijn 5.95 5
wijn 6.95 5
dus alleen als omschrijving en prijs vaker dan 1x voorkomen, zie je een effect van de functie MAX.
zou je een voorbeeld kunnen geven van de sql query?
je query is op zich goed, maar doet waarschijnlijk wat anders dan jij bedoelt.
Dus:
Wat wil jij ophalen?
Geef bijvoorbeeld een lijstje zoals ik hierboven met bier/wijn doe en zeg wat je wilt verkrijgen
Dus:
Wat wil jij ophalen?
Geef bijvoorbeeld een lijstje zoals ik hierboven met bier/wijn doe en zeg wat je wilt verkrijgen
de bedoeling is dat ik 1 record terug krijg met het hoogste alcohol percentage
dus als ik heb:
bier 4,95 3
wijn 5,95 15
Dan is dus wijn het hoogste alcohol percentage (15%)
dan krijg je
wijn 5,95 15
dus als ik heb:
bier 4,95 3
wijn 5,95 15
Dan is dus wijn het hoogste alcohol percentage (15%)
dan krijg je
wijn 5,95 15
dat kan dus niet in een keer.
Het zou nog lukken als je de prijs achterwege liet, maar stel dat jouw lijstje was
bier 4.95 3
wijn 5.95 15
wijn 6.95 15
Wat wilde je dan als resultaat?
Het zou nog lukken als je de prijs achterwege liet, maar stel dat jouw lijstje was
bier 4.95 3
wijn 5.95 15
wijn 6.95 15
Wat wilde je dan als resultaat?
resultaat:
wijn 6.95 15
wijn 5.95 15
bier 4.95 3
wijn 6.95 15
wijn 5.95 15
bier 4.95 3
Dan zul je nog een ORDER BY MAX(a.Alcohol) DESC, p.Prijs DESC moeten toevoegen.
Gewijzigd op 30/03/2017 14:33:17 door Ben van Velzen
@robert:
dat is strijdig met je post van 14:06
want daar viel bier af omdat het percentage niet het hoogste was
dat is strijdig met je post van 14:06
want daar viel bier af omdat het percentage niet het hoogste was




