Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何排除Mysql组_Mysql - Fatal编程技术网

如何排除Mysql组

如何排除Mysql组,mysql,Mysql,我想知道如何排除mysql组,我在这里做了一段时间的研究,但就是做不好 我试过了 SELECT * FROM booking GROUP BY BookingId HAVING Status!="Cancellation" 这显然不起作用 示例数据库如下所示: +----+-----------+--------------+ | id | BookingId | Status | +----+-----------+--------------+ | 1 | 1

我想知道如何排除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。

您需要在having子句中使用聚合函数,如
sum

SELECT BookingId  
FROM booking 
GROUP BY BookingId 
HAVING sum(Status = 'Cancellation') = 0