在一些例子中,使用数据库表“shop”来储存某个商人(经销商)的每件物品(物品号)的价格。假定每个商人对每项物品有一个固定价格,那么(物品,商人)即为该记录的主关键字。
1 | mysql> CREATE TABLE shop ( |
“最大的物品号是什么?”
1 | SELECT MAX(article) AS article FROM shop; |
任务:找出最贵物品的编号、销售商和价格。
这很容易用一个子查询做到:
SELECT article, dealer, price FROM shop WHERE price=(SELECT MAX(price) FROM shop);
另一个解决方案是按价格降序排序所有行并用MySQL特定 LIMIT
子句只得到第一行:
SELECT article, dealer, price FROM shop ORDER BY price DESC LIMIT 1; 注:如果有多项最贵的物品( 例如每个的价格为19.95),LIMIT解决方案仅仅显示其中一个!
任务:每项物品的的最高价格是多少?
1 | SELECT article, MAX(price) AS price |
任务:对每项物品,找出最贵价格的物品的经销商。
可以用这样一个子查询解决该问题:
1 | SELECT article, dealer, price |