- 论坛徽章:
- 0
|
mysql5.1手册3.6.4节:
任务:对每项物品,找出最贵价格的物品的经销商。
可以用这样一个子查询解决该问题:
SELECT article, dealer, price
FROM shop s1
WHERE price=(SELECT MAX(s2.price)
FROM shop s2
WHERE s1.article = s2.article);
shop表:
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0001 | A | 3.45 |
| 0001 | B | 3.99 |
| 0002 | A | 10.99 |
| 0003 | B | 1.45 |
| 0003 | C | 1.69 |
| 0003 | D | 1.25 |
| 0004 | D | 19.95 |
+---------+--------+-------+
article --商品
dealer --销售商
price --价格
我想知道上面的那句SQL是如何执行的。
是不是“WHERE s1.article = s2.article”这个条件,每次都可以限定一种商品呢? |
|