Página 6
"Qual é o artigo que tem o preço mais alto?"
SELECT MAX(article) AS article FROM shop
+---------+
| article |
+---------+
| 4 |
+---------+
A fila da coluna com o número máximo.
"Encontre o número dos negociantes, e avalie quem tem o artigo mais caro."
No ANSI SQL isto é facilmente feito com um sub-query:
SELECT article, dealer, price
FROM shop
WHERE price=(SELECT MAX(price) FROM shop)
No MySQL (ainda não faz uma sub-seleção) somente faz isto em dois passos:
1. Obtém o valor máximo e avalia a tabela com uma declaração SELECT.
2. Usando este valor compila a pergunta real:
SELECT article, dealer, price
FROM shop
WHERE price=19.95
Outra solução está em classificar todas filas decrescentes por preço e unicamente obter uma fila usando o MySQL cláusula de LIMIT:
SELECT article, dealer, price
FROM shop
ORDER BY price DESC
LIMIT 1
Note: Se há vários artigos caros, a solução de LIMIT mostra unicamente um deles.
Máximo da coluna: por grupo e por valores
"Qual é o preço mais alto por artigo?"
SELECT article, MAX(price) AS price
FROM shop
GROUP BY article
+---------+-------+
| article | price |
+---------+-------+
| 0001 | 3.99 | |