【发布时间】:2015-10-14 18:35:30
【问题描述】:
如何在 grouping by 子句中选择一个主键,它会从另一个不在 group by 子句中的表中返回最大值?例如:
表 A:
ID table_b_id Value
1 1 100
2 1 200
3 1 150
4 2 300
5 2 200
6 2 100
7 3 100
8 3 200
表 B
ID Name
1 A
2 B
3 C
预期结果
B.ID B.姓名 A.ID 1 一个 2 2 乙 4 3 C 8我尝试过一些这样的查询:
select b.id, max(b.name), max(a.id) as kd_rec
from table_a a join table_b
on a.table_b_id = b.id
group by b.id
我不知道如何通过 b 从表 a 组中获取最大值。
【问题讨论】:
-
您确实意识到您需要的结果中未使用表 B,对吧?
-
@AMIT :对不起,为了便于理解,重新创建了表格。实际上表和连接比这更复杂,连接大约 6 个表,并且该表中需要一些我没有包含在查询中的信息。我只是想知道如何进行该查询,您可以将其设为
select b.id,max(b.name), max(a.id) as kd_rec
标签: sql-server