[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
[klip] > > Følgende eksperiment er lavet i MySQL > > mysql> select * from t2; > +----+-----------------+-----------+------+ > | id | bogtitel | salgssted | pris | > +----+-----------------+-----------+------+ > | 1 | Linux A-Z | Amazon | 200 | > | 2 | Linux A-Z | Metro | 180 | > | 3 | Mit liv som Tux | Bogladen | 99 | > | 4 | Mit liv som Tux | Amazon | 199 | > | 5 | N | Metro | 50 | > +----+-----------------+-----------+------+ > 5 rows in set (0.00 sec) > > Dette passer til dit oplæg. > > Prøv nu: > mysql> select id,bogtitel,salgssted,min(pris) from t2 group by bogtitel; > +----+-----------------+-----------+-----------+ > | id | bogtitel | salgssted | min(pris) | > +----+-----------------+-----------+-----------+ > | 1 | Linux A-Z | Amazon | 180 | > | 3 | Mit liv som Tux | Bogladen | 99 | > | 5 | N | Metro | 50 | > +----+-----------------+-----------+-----------+ > 3 rows in set (0.00 sec) > > Sådan læste jeg dit spørgsmål. > Men det giver jo netop ikke det rigtige - Det er jo ikke Amazon, der sælger bogen til 180. Et forslag til en korrekt query er: mysql> select f.id, f.bogtitel, f.salgssted, f.pris from (select bogtitel, min(pris)as minpris from test group by bogtitel) as x inner join test as f on f.bogtitel = x.bogtitel and f.pris = x.minpris; +----+-----------------+-----------+------+ | id | bogtitel | salgssted | pris | +----+-----------------+-----------+------+ | 2 | Linux A-Z | Metro | 180 | | 3 | Mit liv som Tux | Bogladen | 99 | | 5 | N | Metro | 50 | +----+-----------------+-----------+------+ 3 rows in set (0.03 sec) Query'en fandt jeg ikke selv på :) Kig på http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per -group-in-sql/ /Lars
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |