具有三个字段的基础表bod
:
| BOFORM_ID | FEINBOD | MAECHTBOD |
+-----------+---------+-----------+
| 3301211 | fSms | 50 |
| 3301211 | mSfs | 150 |
| 3301231 | fSms | 200 |
| 3301312 | Ss | 150 |
| 3301312 | Su2 | 50 |
我想
按BOFORM_ID
分组
从MAECHTBOD
,同时使关联的FEINBOD
与MAECHTBOD
的最大值位于同一行。
我不知道如何执行步骤3。
我想要的输出:
| BOFORM_ID | FEINBOD | MAECHTBOD |
+-----------+---------+-----------+
| 3301211 | mSfs | 150 |
| 3301231 | fSms | 200 |
| 3301312 | Ss | 150 |
答案 0 :(得分:1)
您可以使用 correlated 子查询:
SELECT b.*
FROM bod as b
WHERE MAECHTBOD = (SELECT MAX(b1.MAECHTBOD) FROM bod as b1 WHERE b1.BOFORM_ID = b.BOFORM_ID);
答案 1 :(得分:0)
考虑将您的单位级别数据加入汇总查询。这种方法比相关子查询更有效,后者为外部查询的每行计算汇总,而不是如下所示。
META6.json