【发布时间】:2014-01-27 12:01:08
【问题描述】:
假设,我有一个名为 items 的表:
sender_id receiver_id goods_id price
2 1 a1 1000
3 1 b2 2000
2 1 c1 5000
4 1 d1 700
2 1 b1 500
这里我想从 items 表中按价格降序选择 sender_id,goods_id,这样就不会出现多次包含相同 sender_id 值的行(这里 sender_id 2)。我使用了以下查询,但徒劳无功:
select distinct sender_id,goods_id from items where receiver_id=1 order by price desc
结果显示所有五个元组(记录),其中包含 sender_id 2 的元组按时间降序排列三次。但我想要只显示三个记录,其中一个的 sender_id 为 2,最高价格仅为 5000 。 我该怎么办? 我的预期输出是:
sender_id goods_id
2 c1
3 b2
4 d1
【问题讨论】:
-
你能发布上表的预期输出吗?
-
我已经编辑了我的问题@ling.s
-
为什么你得到 price 作为receiver_id?
-
对不起@ling.s 我更正了!
-
您不想在预期输出中使用
goods_id而不是receiver_id吗?
标签: mysql sql select group-by groupwise-maximum