O Registro que Armazena o Valor Máximo para uma Coluna Determinada
Encontre o número, fornecedor e preço do ítem mais caro.
No SQL ANSI isto é feito fácilmente com uma sub-consulta:
SELECT article, dealer, price FROM shop WHERE price=(SELECT MAX(price) FROM shop);
No MariaDB (que ainda não suporta sub-selects), faça isto em dois passos:
- Obtenha o valor do preço máximo da tabela com uma instrução
SELECT
.mysql>
SELECT MAX(price) FROM shop;
+------------+ | MAX(price) | +------------+ | 19.95 | +------------+ - Usando o valor 19.95 mostrado pela consulta anterior como o preço máximo do artigo, grave uma consulta para localizar e mostrar o registro correspondente:
mysql>
SELECT article, dealer, price
->FROM shop
->WHERE price=19.95;
+---------+--------+-------+ | article | dealer | price | +---------+--------+-------+ | 0004 | D | 19.95 | +---------+--------+-------+
Outra solução é ordenar todos os registros por preço de forma descendente e obtenha somente o primeiro registro utilizando a cláusula específica do MariaDB LIMIT
:
SELECT article, dealer, price FROM shop ORDER BY price DESC LIMIT 1;
NOTA: Se existir diversos ítens mais caros, cada um com um preço de 19.95, a solução LIMIT
mostra somente um deles !