我有以下问题 - 我有一个4列的表:Id,Name,InsertTime,UpdateTime。 我想为每个名称计数(不是唯一的!)有多少个具有相同名称的不同 InsertTime或UpdateTime。 例如,如果我有以下数据:Sql的 - 如何计算不同的列值按另一列分组
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
我想要的结果是:
NAME COUNT
maya 1
tal 0
mark 0
Explantion: “玛雅” 有1次重复的不同InsertTime或录入。 “tal”没有重复。并且“标记”具有重复但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)
但这返回重复。 我也尝试了GROUP BY的不同方法 - 到目前为止没有任何工作。
任何帮助,将不胜感激。