【发布时间】:2012-10-31 07:01:30
【问题描述】:
我有一些问题要理解。
我有下一张桌子:
ID PROD PRICE
1 A 10
2 B 20
3 C 30
4 A 1
5 B 12
6 C 2
7 A 7
8 B 8
9 C 9
10 A 5
11 B 2
我想获得所有产品的所有最低价格,这意味着我想获得 3 条记录,即每个产品的最低价格。 从上面的例子中,这就是我想要得到的:
ID PROD MIN(PRICE)
4 A 1
11 B 2
6 C 2
这是我写的查询:
select id, prod, min(price)
from A1
group by(prod);
但这是我得到的记录:
ID PROD MIN(PRICE)
1 A 1
2 B 2
3 C 2
如您所见,ID 值是错误的,它只是给我某种行计数器,而不是实际的 ID 值。
您可以在下一个link查看它
我做错了什么?
【问题讨论】:
-
您的问题是 GROUP BY 不会告诉您哪一行的价格最小值,只会告诉您最小值是多少。
标签: sql sql-server tsql select group-by