php - 如何根据其他行中相似或相反的数据选择一行?

标签 php mysql select

id    player_id nat nt_caps
13740   28664   97  24  
13741   28664   68  0   
13742   28664   79  0   
16252   42904   15  40  
16253   42904   68  0   
16254   42904   241 0   

这就是我的 table 的样子。我想为每个 nat 选择具有 nt_caps =“0”的 player_id,或者为 nat =“68”选择具有 nt_caps !=“0”的 player_id。

我尝试使用的 SQL 查询是:

SELECT player_id FROM x WHERE nat = '68' AND (nat != '68' AND nt_caps = '0')

但后来我得到了 player_id '42904' 和 '28664',因为它们都有 1 个匹配查询的条目,但我不想要它们,因为它们有另一个 nat 的 nt_caps 而不是 nat“68”。

我希望你能理解我努力实现的目标。

最佳答案

SELECT * FROM x WHERE nt_caps = 0 OR (nt_caps != 0 AND nat = 68)

关于php - 如何根据其他行中相似或相反的数据选择一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9268142/

相关文章:

php - 在 php SESSION 中使用空 - 0 例

php - PDO 插入不起作用(PHP/MySQL)

mysql - SQL:从只有column2不同的两列中选择不同的

mysql - 这个建表语句有什么问题?

javascript - 如何在 jquery mobile 中添加自定义选择表单元素?

SQL Server - 如何向上或向下舍入小数?

php - mysql如果列包含

php - 当我们在 PHP 中使用 mail() 时发生了什么?

mysql - 为什么整数转换不适用于整数 group_concat() 列表?

sql - 使用 select into outfile 指令写入文件头?