0

我有以下结构的表。此表中的内容是重复的。我想以最低价格显示记录。

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;
4

3 回答 3

2

如果您想知道每个组中的最低价格,请使用以下查询:

select `group`, `idx`, `name`, MIN(price) AS min_price
                FROM `table`
                GROUP BY `group`;

'MIN' 函数的文档

于 2012-11-08T09:42:47.963 回答
1
SELECT group, idx, name, price
    FROM table
    WHERE group = 141003
    ORDER BY price ASC
    LIMIT 1;

会做的伎俩。

于 2012-11-08T09:41:17.177 回答
0

首先 group 是 MySQL 中的保留字。您应该在它周围使用 ` 或重命名表格。像这样:

select `group`, idx, name, price from test_2 where `group` = 141003 order by price desc limit 1;

如果组处于具有一个值的 where 条件,为什么要进行分组?您想要所有组中最便宜的商品吗?

于 2012-11-08T10:08:05.067 回答