gpt4 book ai didi

sql - 使用 select 和 group by 的简单 SQL 查询

转载 作者:行者123 更新时间:2023-12-02 06:38:20 26 4
gpt4 key购买 nike

我有一些问题要理解。

我有下一张 table :

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查看

我做错了什么?

最佳答案

SELECT  a.*
FROM A1 a
INNER JOIN
(
SELECT Prod, MIN(Price) minPrice
FROM A1
GROUP BY Prod
) b ON a.Prod = b.Prod AND
a.Price = b.minPrice
  • SQLFiddle Demo

  • 对于 MSSQL
    SELECT ID, Prod, Price
    FROM
    (
    SELECT ID, Prod, Price,
    ROW_NUMBER() OVER(Partition BY Prod ORDER BY Price ASC) s
    FROM A1
    ) a
    WHERE s = 1
  • SQLFiddle Demo
  • 关于sql - 使用 select 和 group by 的简单 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13333820/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com