我想知道如何排除一个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。
答案 0 :(得分:1)
您需要在having子句
中使用sum
等聚合函数
SELECT BookingId
FROM booking
GROUP BY BookingId
HAVING sum(Status = 'Cancellation') = 0