Tabel weergeven op laagste prijs
TABLE
01 Product 1 | Appels | 3.50 | 100 gram
02 Product 2 | Appels | 1.00 | 120 gram
03 Product 3 | Peren | 3.40 | 100 gram
04 Product 4 | Bananen | 1.00 | 200 gram
05 Product 5 | Bananen | 2.00 | 100 gram
OVERZICHT
Product | Appels | v.a. 1.00
Product | Peren | 3.40
Product | Bananen | v.a. 1.00
Alleen als ik het nu probeer dan neemt hij willekeurig de laagste en soms de hoogtste prijs. Hoe kan ik dat oplossen:
Code (php)
1
2
3
4
2
3
4
<?php
$sql = "SELECT * FROM producten GROUP BY categorie_id ORDER BY prijs ASC";
$result = $conn->query($sql);
?>
$sql = "SELECT * FROM producten GROUP BY categorie_id ORDER BY prijs ASC";
$result = $conn->query($sql);
?>
Gewijzigd op 20/07/2017 16:00:02 door Kees Mulder
Gewijzigd op 19/07/2017 09:07:46 door - Ariën -
Toevoeging op 19/07/2017 09:09:42:
Kees Mulder op 19/07/2017 09:08:54:
Ik gebruik voor prijs DECIMAL 7,2 en in de tabel staat inderdaad ook 3.00 ipv. vb. 3,00
SELECT MIN(prijs), benoem,je,andere,velden FROM producten
GROUP BY je,velden,minus,prijs
Hier is het erg belangrijk om dat correct te doen door niet klakkeloos * te selecteren en willekeurig een veld te kiezen om op te groeperen.
Ben van Velzen op 19/07/2017 10:33:48:
Kortom:
SELECT MIN(prijs), benoem,je,andere,velden FROM producten
GROUP BY je,velden,minus,prijs
Hier is het erg belangrijk om dat correct te doen door niet klakkeloos * te selecteren en willekeurig een veld te kiezen om op te groeperen.
SELECT MIN(prijs), benoem,je,andere,velden FROM producten
GROUP BY je,velden,minus,prijs
Hier is het erg belangrijk om dat correct te doen door niet klakkeloos * te selecteren en willekeurig een veld te kiezen om op te groeperen.
Heb nog een kolom erbij met bijv. aantal grams. Alleen is het niet zo dat als hij de regel pakt met de laagste prijs ook dan automatisch de kolom met aantal grams erbij pakt. Nu doet hij wel de laagste prijs maar pakt aantal grams van een andere regel! Hoe is dat op te lossen?
Door de GROUP BY toe te passen zoals ik al eerder gepost heb.