mysql - 在他们从未为 PS4 开发过游戏的地方选择 game_co

标签 mysql sql mariadb mariasql

我有一个 MariaDB SQL 表,我需要在其中找出哪个游戏公司从未为特定控制台开发过游戏。

一些 game_co 仅适用于 PC 和 Xbox,从未在 PS4 上开发过。一些公司已经在所有游戏机上开发了多款游戏,但他们的一款游戏仅适用于 PC,因此包含在 SELECT 中。没有用于检查公司是 XBOX、PC、Nintendo 还是 PS4 的字段。

我试过的是

SELECT game_co, FROM company

WHERE developed_on_ps4 = ('false');

我添加了 WHERE 子句,但它们都不起作用,它们都产生与我在上面添加的代码片段相同的答案。

这会返回太多结果,我无法找到一种方法来确保 developed_on_ps4game_co 为 Ubisoft 时始终为 false。

我是否需要使用 CASE 语句或其他我不确定在考虑之后如何工作的东西。

最佳答案

我会简单地使用带有 having 子句的聚合来进行过滤。这会在单表扫描中为您提供所需的结果:

select game_co
from company
group by game_co
having sum(developed_on_ps4 = 'true') = 0

关于mysql - 在他们从未为 PS4 开发过游戏的地方选择 game_co,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59011797/

相关文章:

mysql/mariadb - 创建表列索引不工作

php - 在上一次插入记录后,MySQL Execute 查询失败

c# - 我无法在我的简单网页中查看我的 Crystal 报告

sql - MySQL的问题!只需要从一行中选择唯一值

mysql - SQL计算具有满足条件的列的行

mysql - 如何在 MariaDB 中创建表?

sql - 如何在不选择 ORDER BY 字段的情况下选择 DISTINCT 行

android - php Json 得到一个空白的 TextView

sql - 如何在 SQL 语句中声明 bool 参数?

php - 使用表名作为 php 函数的参数安全吗?