Max functie wordt niet uitgevoerd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert Jansen

Robert Jansen

30/03/2017 13:25:25
Quote Anchor link
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?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;


alvast bedankt
 
PHP hulp

PHP hulp

15/11/2024 20:34:14
 
Thomas van den Heuvel

Thomas van den Heuvel

30/03/2017 13:33:17
Quote Anchor link
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).
 
Ivo P

Ivo P

30/03/2017 13:50:19
Quote Anchor link
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.
 
Robert Jansen

Robert Jansen

30/03/2017 13:58:31
Quote Anchor link
zou je een voorbeeld kunnen geven van de sql query?
 
Ivo P

Ivo P

30/03/2017 14:00:37
Quote Anchor link
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
 
Robert Jansen

Robert Jansen

30/03/2017 14:06:44
Quote Anchor link
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
 
Ivo P

Ivo P

30/03/2017 14:09:19
Quote Anchor link
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?
 
Robert Jansen

Robert Jansen

30/03/2017 14:24:08
Quote Anchor link
resultaat:
wijn 6.95 15
wijn 5.95 15
bier 4.95 3
 
Ben van Velzen

Ben van Velzen

30/03/2017 14:32:30
Quote Anchor link
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
 
Ivo P

Ivo P

30/03/2017 16:09:44
Quote Anchor link
@robert:
dat is strijdig met je post van 14:06

want daar viel bier af omdat het percentage niet het hoogste was
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.