我的桌子有下面的结构。此表中的内容是重复的。我想以最低价格显示记录。
GROUP IDX NAME PRICE
141003 6 0285-00 499.88000
141003 2 028500 519.13000
141003 1 0285-00 424.12000
141005 2 02851 559.13000
141005 1 0285-1 434.12000
结果表
141003 1 0285-00 424.12000
141005 1 0285-1 434.12000
我尝试了这个,但返回的结果是:
141003 6 0285-00 499.88000
查询:
select group, idx, name, price
FROM table
GROUP BY group
ORDER BY price;
答案 0 :(得分:2)
如果您想知道每组中的最低价格,请使用以下查询:
select `group`, `idx`, `name`, MIN(price) AS min_price
FROM `table`
GROUP BY `group`;
答案 1 :(得分:1)
SELECT group, idx, name, price
FROM table
WHERE group = 141003
ORDER BY price ASC
LIMIT 1;
会做的伎俩。
答案 2 :(得分:0)
首先,群组是MySQL中的保留字。您应该使用`周围或重命名表。像这样:
select `group`, idx, name, price from test_2 where `group` = 141003 order by price desc limit 1;
如果该组处于具有一个值的where条件,您为什么要进行分组?你想要所有团体中最便宜的物品吗?