Foto afdrukken prijsvergelijk -> http://www.fotovergelijk.nl
Je kunt gewoon op meerdere kolommen sorteren.
Oops! Google Chrome could not find www.rijks%20museum.nl
Afhankelijk van hoe of wat..
MT Venus E 5KW (V151) P1 HomeWizard | Hackerspace Brixel te Hasselt (BE) - http://www.brixel.be | 9800X3D, 96GB DDR5 6000MHZ, NVIDIA GEFORCE 4090, ASRock X670E Steel Legend, Seasonic GX1000
| gebied | hotel | prijs |
| A | Ay | 20 |
| A | Ad | 10 |
| A | Af | 30 |
| B | Bv | 15 |
| B | Bg | 45 |
| C | Ca | 5 |
Als je nu een sort by price, gebied doet, krijg je de prijs laag naar hoog en bij dezelfde prijs de sortering op gebied. Sortering op gebied lat bovenstaande volgorder zien.
Ik wil graag op prijs sorteren, dus eerste gebied C, dan gebied A met de drie hotels, en dan alle hotels van gebied B.
Hoe de group by kan helpen snap ik niet. Misschien iets meer uitleg?
Foto afdrukken prijsvergelijk -> http://www.fotovergelijk.nl
asfaloth_arwen schreef op zondag 31 juli 2011 @ 15:08:
group by gebied, order by prijs zou voldoende moeten zijn.
Ik zie even niet hoe een group by hier gaat helpen
Ik zou dit oplossen in de presentatielaag.
[ Voor 30% gewijzigd door RobIII op 31-07-2011 15:22 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
[ Voor 38% gewijzigd door parm op 31-07-2011 15:29 ]
Ik zou het, net zoals RobIII, in de prestatielaag doen.
Je kan het bijv als volgt doen.
1
2
3
4
5
6
7
| select gebied,prijs,hotel from hotels inner join (select gebied, MIN(price) as lowestprice from hotels group by gebied) as t on (hotels.gebied=t.gebied) group by gebied,prijs,hotel order by lowestprice,gebied, prijs,hotel |
Gomez12 schreef op zondag 31 juli 2011 @ 15:45:
Group wise maximum...
Je kan het bijv als volgt doen.
SQL:
1 2 3 4 5 6 7 select gebied,prijs,hotel from hotels inner join (select gebied, MIN(price) as lowestprice from hotels group by gebied) as t on (hotels.gebied=t.gebied) group by gebied,prijs,hotel order by lowestprice,gebied, prijs,hotel
Dat is inderdaad correct (behalve price/prijs typo
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Ik vraag me af eigenlijk af of die correct is...RobIII schreef op zondag 31 juli 2011 @ 15:55:
[...]
Goeiemorgen
Dat is inderdaad correct (behalve price/prijs typo). Waarom ik dat niet zag mag Joost weten; heb de slaap nog in mijn ogen denk ik
Mysql zal hem vast slikken, maar orderen op iets waarop niet gegroupeerd is?
Ik gok zomaar even dat je volgens de sql spec enkel mag orderen op velden in je select. Maarja daar hebben we trial & error voor
Btw qua sortering : Probeer het eerst eens in 1 zin op papier uit te schrijven dan zie je sneller welke richting je query op moet gaan. Zo zie je in de TS al dat het gaat om het gebied met de laagste prijs, deze moet je dus ergens erbij "toveren" in een extra subquery.
Het werkt in MySQL iig wel (maar het zou inderdaad niet moeten mogen kunnen). En anders zet je 'm gewoon ook in je group by? Of slaap ik nou nog?Gomez12 schreef op zondag 31 juli 2011 @ 16:12:
Mysql zal hem vast slikken, maar orderen op iets waarop niet gegroupeerd is?
Ik gok zomaar even dat je volgens de sql spec enkel mag orderen op velden in je select. Maarja daar hebben we trial & error voor
[edit]
Euh, wacht... WTF? Ergens ben ik de draad kwijt volgens mij
[ Voor 20% gewijzigd door RobIII op 31-07-2011 16:24 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
RobIII schreef op zondag 31 juli 2011 @ 16:20:
[...]
Euh, wacht... WTF? Ergens ben ik de draad kwijt volgens mijGoT-ten met 2 rondrennende en krijsende kids is niet heel erg goed voor je concentratie
Tja, dat krijg je nou eenmaal als je je prioriteiten verkeerd sorteert
{signature}
De sortering is van belang in de presentatie van de informatie, de gebruiker zoekt een combinatie van gebied en prijs. Om het netjes te laten zien wil ik sorteren op gebied, maar dan wel het gebied met het goedkoopste hotel als eerste. Tbv de presentatie wil ik dan de overige hotels in dat gebied laten zien. Als de gebruiker het gebied niks vind, kan deze gelijk naar het volgende gebied met de 2e beste prijs etc.Voutloos schreef op zondag 31 juli 2011 @ 16:51:
Maar is die sortering überhaupt intuïtief? Begrijpt de gebruiker dat wel? Het lijkt mij dat je gewoon op prijs óf gebied sorteert, en maar filtert op gebied als je per se prijzen binnen een gebied wilt zien?
Foto afdrukken prijsvergelijk -> http://www.fotovergelijk.nl
1
2
3
4
5
6
7
8
9
10
11
12
13
| select * from hotels order by min(prijs) over (partition by gebied) , prijs; gebied | hotel | prijs --------+-------+------- C | Ca | 5.00 A | Ad | 10.00 A | Ay | 20.00 A | Af | 30.00 B | Bv | 15.00 B | Bg | 45.00 (6 rows) |
deze 'trucjes' vallen onder de window functions van sql, heel erg handig!
[ Voor 6% gewijzigd door lapismontes op 14-09-2011 21:51 ]
Mooie oplossing, maar MySQL kent dit soort functies niet.lapismontes schreef op woensdag 14 september 2011 @ 21:47:
deze 'trucjes' vallen onder de window functions van sql, heel erg handig!
Databases zoals PostgreSQL, SQL Server en Oracle hebben dit wel en dat scheelt veel werk.