我要想办法把它们适当地分组。我有一个结果集,它返回的事件数实际上是数据类型字符串,已经完成了修改。我只需要输入最后一个修订号的分组。例如下面。
INC-101
INC-101
INC-101A1
INC-101A1
INC-101A2
INC-101A2
JNC-101
JNC-101
JNC-101S1
JNC-101S1
我怎么能只看到最高的修订号,比如:
INC-101A2
INC-101A2
JNC-101S1
JNC-101S1
最佳答案
您可以将GROUP BY
与SUBSTRING
一起使用,例如:
SELECT MAX(incident_no)
FROM incidents
GROUP BY SUBSTRING(incident_no, 1, 7);
这是SQL Fiddle。
更新
如果希望所有行都属于最新修订号,则可以将上述查询用作子查询,例如:
SELECT *
FROM incidents
WHERE incident_no IN (
SELECT MAX(incident_no)
FROM incidents
GROUP BY SUBSTRING(incident_no, 1, 7)
);