我有以下问题 - 我有一个包含 4 列的表:Id、Name、InsertTime、UpdateTime。我想计算每个名称(不是唯一的!)有多少个具有相同名称的具有不同的InsertTime 或 UpdateTime。例如,如果我有以下数据:
ID NAME INSERTED_TIME UPDATE_TIME
1 maya 21-12-2015 21-12-2015
2 tal 22-12-2015 21-12-2015
3 maya 21-09-2015 21-12-2015
4 mark 21-12-2015 21-12-2015
5 mark 21-12-2015 21-12-2015
Run Code Online (Sandbox Code Playgroud)
我希望结果是:
NAME COUNT
maya 1
tal 0
mark 0
Run Code Online (Sandbox Code Playgroud)
解释:“maya”有 1 个具有不同 InsertTime 或 UpdateTime 的重复项。“tal”没有重复项。“mark”有一个重复项,但 InsertTime 和 UpdateTime 相同,因此不算在内。
我努力了:
SELECT COUNT(*)
FROM table t1
JOIN table t2 on t1.NAME=t2.NAME
where (t1.INSERTED_TIME<>t2.INSERTED_TIME or t1.UPDATE_TIME<>t2.UPDATE_TIME)
Run Code Online (Sandbox Code Playgroud)
但这会返回重复项。我还尝试了 GROUP BY 的不同方法 - 到目前为止没有任何效果。
任何帮助,将不胜感激。