如何为属于同一个密钥的多个实例存在数据?

时间:2015-12-08 17:13:39

标签: sql sql-server database informix

如果我有这样的表结构:

req_serial  req_year  emp_num  name
   15        2014      673     Jo
   16        2015      673     Jo
   17        2014      785     Noha
   17        2015      785     Noha
   17        2014      634     Reem
   17        2015      634     Reem
   18        2014      358     Moh
   18        2014      34      Amr
   18        2015      34      Amr

如何获得以下结果:

17
18

如果多个req_serial中的同一员工属于同一个req_year,我想获得req_serial?那怎么做?

1 个答案:

答案 0 :(得分:2)

一个简单的GROUP BY应该这样做:

SELECT DISTINCT req_serial  
FROM mytable
GROUP BY req_serial, name
HAVING COUNT(DISTINCT req_year) > 1

如果req_serial, name的同一对值跨越一年以上,则上述查询将返回此精确对。我们只需要req_serial,这就是DISTINCT req_serial子句中使用SELECT的原因。

Demo here