sql - 查找组之间的共同数据

标签 sql sql-server

我有这个数据

DeveloperId   Date             remark
--------------------------------------
1             02/01/2013        Google
1             02/02/2013        MSN
1             02/03/2013        Google
1             02/02/2013        MSN
1             02/01/2013        Yahoo
2             02/01/2013        Google
2             02/02/2013        Yahoo
2             02/03/2013        Google
2             02/01/2013        Google

如何动态查找 google 和 Msn 以及 yahoo 的共同日期?

我想将这样的查询放入报告中。

最佳答案

-- Query for dates that have all types of remarks
SELECT
  Date
FROM
  data
GROUP BY 
  Date
HAVING COUNT(DISTINCT remark) = (
  SELECT COUNT(DISTINCT remark)
  FROM data
);

或者,如果这不是要求...

-- Query for dates that have more than one remark.
SELECT
  Date
FROM
  data
GROUP BY 
  Date
HAVING COUNT(DISTINCT remark) > 1;

Sql Fiddle

关于sql - 查找组之间的共同数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14963935/

相关文章:

sql-server - 没有选择要还原的备份集 SQL Server 2016

mysql - 返回开放酒吧 - 午夜问题

mysql - UNION ALL mysql 子句中的行默认顺序?..我的意思是首先获取哪一行?

java - 如何将Java中的Map对象保存到MySQL数据库中

sql - 如何正确检查SQL Server 2005中是否存在临时表?

sql-server - 多对多关系中的多个级联删除路径 (EF 4.1)

sql - 空值会改变平均值吗?

sql - 根据字符范围选择字符串字段的最佳方法是什么?

sql-server - LINQ to SQL 对象版本控制

sql - 在一条语句中添加多个约束