0

假设我有一个包含两列的表,一个 client_id 和一个布尔值。

给定的 client_id 有多个数据条目,每个条目的布尔值可能设置为 true,也可能不设置。

我需要一个查询,它只返回没有 ROWS 且布尔值设置为 true 的 client_id,并且我需要将它按 client_id 分组。

我敢肯定这很简单,它现在就逃脱了。

4

1 回答 1

1

使用HAVING子句过滤组:

SELECT client_id FROM my_table GROUP BY client_id HAVING SUM(boolean) = 0

请注意,SUM(boolean)它在 MySQL 中有效,因为它没有真正的布尔类型;在其他 RDBMS 中,您要么必须使用不同的聚合函数,要么测试布尔值并返回可用于SUM()

... HAVING SUM(CASE WHEN boolean THEN 1 END) = 0
于 2013-01-11T18:05:39.443 回答