我在为sql查询创建where语句条件时遇到问题。
我希望添加where条件不显示num1
和num2
值,如果它们都等于零或者其中任何一个等于零
SELECT Num1, Num2
FROM Position
WHERE (Num1 IS NOT NULL AND Num2 IS > NOT NULL)
ORDER BY PositionDateTime DESC ;
结果:
+---------+---------+
| Num1 | Num2 |
+---------+---------+
|
| 47.3941 | 8.68005 |
| 0 | 0 |
| 47.4385 | 8.61106 |
| 47.4385 | 8.61106 |
答案 0 :(得分:5)
试试这个:
SELECT Num1, Num2
FROM Position
WHERE Num1 <> 0
OR Num2 <> 0
ORDER BY PositionDateTime DESC ;
答案 1 :(得分:0)
您可以使用直接<>
运算符:
SELECT Num1, Num2
FROM Position
WHERE Num1 IS NOT NULL AND Num1 <> 0 AND
Num2 IS NOT NULL AND Num2 <> 0
ORDER BY PositionDateTime DESC
您还可以使用coalesce
使查询更加优雅,尽管这可能是个人品味的问题:
SELECT Num1, Num2
FROM Position
WHERE COALESCE(Num1, 0) <> 0 AND
COALESCE(Num2. 0) <> 0
ORDER BY PositionDateTime DESC
答案 2 :(得分:0)
您可以使用IFNULL
SELECT Num1, Num2
FROM Position
WHERE IFNULL(Num1, 0) <> 0 AND IFNULL(Num2, 0) <> 0
ORDER BY PositionDateTime DESC
说明: 如果两个值(Num1
和Num2
)均为0,则您不想显示一行(或NULL)或者其中一个值(Num1
或Num2
)是0(或NULL)。因此,您只想显示两个值(Num1
和Num2
)的值不等于0(和NULL)的行。因此,您可以使用Num1 <> 0 AND Num2 <> 0
作为条件。要为NULL设置默认值,可以使用IFNULL
(第二个参数是将使用的值而不是NULL)。在MySQL中,IFNULL(Num1, 0) <> 0 AND IFNULL(Num2, 0) <> 0
和Num1 <> 0 AND Num2 <> 0
答案 3 :(得分:0)
您只需将查询更改为:
即可df.columns = range(1,df.shape[1] + 1)
答案 4 :(得分:0)
尝试:Num1&lt;&gt; 0和Num2&lt;&gt; 0
答案 5 :(得分:0)
SELECT Num1, Num2
FROM Position
WHERE (Num1 is not null and Num2 is not null)
ORDER BY PositionDateTime DESC
答案 6 :(得分:-1)
<td align="center">
<a href="#">Set Now</a>
</td>`