我有一个表,其中包含日程表输入项。它具有一个ID(它是相关计划记录的ID)和一个VALUE(是Y或N)来指示其是否完整。
我需要一个查询来在所有ID
都等于Y时返回VALUE
。因此,在下面的示例表中,我希望查询返回ID为2和3。
我尝试使用COUNT(*)
,嵌入式select语句等对多个查询进行变体,但是我没有任何运气。
非常感谢您的帮助!
+------+------+
|ID |VALUE |
+------+------+
|1 |Y |
+------+------+
|1 |Y |
+------+------+
|1 |N |
+------+------+
|2 |Y |
+------+------+
|2 |Y |
+------+------+
|3 |Y |
+------+------+
答案 0 :(得分:0)
您只需要比较ID
值的行数和该Y
的{{1}}值的行数(利用MySQL将真实值视为1,错误为0):
ID
输出
SELECT ID
FROM table1
GROUP BY ID
HAVING COUNT(*) = SUM(VALUE = 'Y')