Mysql
 sql >> Base de données >  >> RDS >> Mysql

Alternative à partiel (colonne non agrégée) dans le groupe par [problème d'inventaire d'Ollivander sur hackerrank]

Je ne sais pas si j'ai bien compris

Mais avec

select w.id, w.code, w2.coins_needed, w.power
, wp.age 
from wands w
inner join (SELECT code, Min(coins_needed) coins_needed From Wands Group by code)  w2 
on w.code = w2.code and w.coins_needed = w2.coins_needed
join wands_property wp
on wp.code = w.code and wp.is_evil=0

Vous obtenez

id  code    coins_needed    power   age
1   10      100             2       100
3   20      300             3       200
8   40      300             4       400

C'est le résultat pour toutes les baguettes qui coûtent le minimum pour chaque code qui n'est pas mauvais sans le regrouper.