mysql命令,找出某个字段的特定值的行

来源:百度知道 编辑:UC知道 时间:2024/09/23 17:17:11
例如表“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 |
+---------+--------+-------+

请写出mysql命令,对于每篇文章,找出有最贵的价格的交易者。

切记,是mysql命令
好多方法,我来总结一下:
select article,dealer,max(price) from shop group by article
这个应该可以
-
select article,dealer,price from shop group by article order by price desc limit 0,1
取出来结果只有一行,就是所有文章里面最贵的那本。不符合题目的要求:找出每个文章的最贵价格交易者
-
select * from shop where price in(select max(price) from shop group by article);
图都有了,很明显是可以的。
-
rjiang2008 应该也是可以的。

好的,楼主,那么我们开始吧:

语句:

 select * from shop where price in(select max(price) from shop group by article);

结果,请看图------->>

长时间不用,都忘了,想了很久...
“切记”..
mysql -h127.0.0.1 -uroot -p123
use db;
select article,dealer,price from shop
where price=max(price);

select article,dealer,max(price) from shop group by article

或者