我有这个查询:
$query = "SELECT pic_square,
name,
highest_score,
num_tries,
avg_total
FROM users
WHERE NOT played_game = '0'
ORDER BY avg_total DESC";
其中,我为的所有用户选择pic_square
、name
、highest_score
、num_tries
和avg_total
FROM
不要将他们玩的游戏设置为"0">
我想添加另一个条件,这样我只选择以下用户:
- 不要将他们的played_game设置为"0">
- 不要让他们的名字为空
PS:名称不能为null,只能为空,我无法更改DB结构本身
那么,我如何将这些对偶WHERE NOT加在一起呢?
WHERE NOT (played_game = '0' or name = '')
或
WHERE played_game <> '0' and name <> ''
$query = "SELECT pic_square,name,highest_score,num_tries,avg_total FROM users
WHERE NOT (played_game = '0' OR name IS NULL OR name='' )
ORDER BY avg_total DESC";
$query = "SELECT pic_square,name,highest_score,num_tries,avg_total FROM users
WHERE played_game <> '0' AND name <> '' ORDER BY avg_total DESC";
像一样简单地改变条件
where played_game <> '0' AND name <> ''
$query = "SELECT pic_square,name,highest_score,num_tries,avg_total
FROM users
WHERE played_game != '0'
AND name NOT NULL
ORDER BY avg_total DESC";
您可以使用以下查询:
$query = "SELECT pic_square,
name,
highest_score,
num_tries,
avg_total
FROM users
WHERE NOT played_game = '0'
AND IFNULL(name,'') <> ''
ORDER BY avg_total DESC";
使用IFNULL
,您将确保NULL
值和空值得到相同的处理。