【发布时间】:2015-07-26 17:42:41
【问题描述】:
我有以下查询,除了它没有按我希望的那样分组之外,它工作正常:
SELECT
oee_main_interim.id,
oee_main_interim.NAME,
oee_main_interim.S_TYPE
FROM
oee_main_interim
WHERE
oee_main_interim.S_TYPE <>0
GROUP BY
oee_main_interim.id, oee_main_interim.NAME
HAVING
oee_main_interim.id= max(oee_main_interim.id)
所有 3 个字段都是 INT 类型。该查询通过不按名称分组来返回 id 的最大值,而是列出多个名称。我想要的很简单:Max ID,对应的NAME和对应的S_TYPE。所以我的输出应该是这样的:
ID NAME S_TYPE
1234 1 2
1345 2 1
1456 3 2
1567 4 2
ID 是每个 NAME 的表的最大 id ...
我在表oee_main_interim中的原始数据如下:
所以我想要的只是为每个 NAME 选择最大 ID 并显示其相关的 S_TYPE(如上所示)以及 S_TYPE 0 的位置。
我的所有列的完整表格如下:
【问题讨论】: