这个查询语句怎么写,查出价格最低的
只用到一个表sellers
id seller product keyword price
1 沃尔玛 泰国稻米得大米 大米 6
2 沃尔玛 东北小麦粉 麦 3
3 百佳 东北大米 大米 3
4 家乐福 东北大米 大米 3.2
5 好又多 超级小麦面粉 麦 3.5
6 永辉 湖北大米 大米 2.8
我想查出这个表里每一类价格最便宜的行,也即字段product值中包含了字段keyword值的结果中价格最便宜的行,比如这个表里出来的结果就是以下两行结果
6 永辉 湖北大米 大米 2.8
2 沃尔玛 东北小麦粉 麦 3
这个语句怎么写?谢谢!!
------解决方案--------------------SELECT * FROM sellers A
WHERE NOT EXISTS(SELECT 1 FROM sellers B WHERE A.keyword = B.keyword and A.price > B.price)
------解决方案--------------------这样的一般习惯用Group by语法。也给一个,不过是在MySql运行通过的,呵呵。
select t.* from sellers t
right join
(SELECT min(price) as price,keyword FROM sellers group by keyword) temp
on temp.price=t.price and temp.keyword = t.keyword
order by t.keyword
------解决方案--------------------
select * from seller d where price in (select min(price) from seller k where d.keyword=k.keyword group by keyword )