如何排除Mysql组

时间:2014-10-31 09:48:13

标签: mysql

我想知道如何排除一个mysql组,我在这里做了一段时间的研究但是没有做对。

我试过

SELECT * FROM booking GROUP BY BookingId HAVING Status!="Cancellation"

显然不起作用。

示例数据库如下所示:

+----+-----------+--------------+
| id | BookingId | Status       |
+----+-----------+--------------+
|  1 |         1 | Booked       |
|  2 |         1 | Cancellation |
|  3 |         2 | Booked       |
+----+-----------+--------------+

我想通过BookingId对它们进行分组,如果其中一个条目获得状态取消,则该组不应该出现,所以从上面可以看到id 3。

1 个答案:

答案 0 :(得分:1)

您需要在having子句

中使用sum等聚合函数
SELECT BookingId  
FROM booking 
GROUP BY BookingId 
HAVING sum(Status = 'Cancellation') = 0