2017-04-20 1 views
0

Je veux sélectionner la ligne qui a la plus grande valeur dans la colonne "prix" de ceux remplissant la condition. L'utilisation de MAX() comme indiqué ci-dessous ne fonctionne pas pour moi, car elle utilise la valeur absolue la plus élevée de cette colonne.Comment sélectionner la valeur relative la plus élevée de la colonne?

"SELECT * FROM parts_list WHERE " . (implode(' = 1 AND ', $utilization)) . " = 1 AND (part_price = (SELECT MAX(part_price) FROM parts_list))" 

Je veux seulement pour sélectionner celui qui a la valeur la plus élevée pour « part_price » de ceux qui FULLFILL:

. (implode(' = 1 AND ', $utilization)) . " = 1 

Répondre

1

Vous pouvez d'abord ORDER BY part_price DESC puis utiliser TOP 1 pour obtenir uniquement la première ligne .

0

seulement 2 minutes après que je posté j'ai eu une idée:

"SELECT MAX(part_price) * FROM parts_list WHERE " . (implode(' = 1 AND ', $utilization)) . " = 1 AND (part_price = (SELECT MAX(part_price) FROM parts_list WHERE ".implode(' = 1 AND ', $utilization)." = 1))");