本文介绍了PostgreSQL中的SQL MIN(值)匹配行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下表格:
表A:
ID ID NAME PRICE CODE
00001 B 1000 1
00002 A 2000 1
00003 C 3000 1
这是我使用的SQL:
Select Min (ID),
Min (ID NAME),
Sum(PRICE)
From A
GROUP BY CODE
这是我得到的:
ID ID NAME PRICE
00001 A 6000
如您所见,ID NAME与最小行值不匹配。我需要它们匹配。
As you can see, ID NAME don't match up with the min row value. I need them to match up.
我希望查询返回以下内容
I would like the query to return the following
ID ID NAME PRICE
00001 B 6000
我可以使用什么SQL要获得该结果?
What SQL can I use to get that result?
推荐答案
您还可以使用子查询
select t1.*,t2.* from
(select ID,Name from t where ID= (select min(ID) from t)
) as t1
cross join (select sum(Price) as total from t) as t2
https://dbfiddle.uk/?rdbms=postgres_10&fiddle=a496232b552390a641c0e5c0fae791 >
https://dbfiddle.uk/?rdbms=postgres_10&fiddle=a496232b552390a641c0e5c0fae791d1
id name total
1 B 6000
这篇关于PostgreSQL中的SQL MIN(值)匹配行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!