SQL:SUM()在应用不相等条件时不起作用
下面是我的凭单表和查询。当2时,我想计算不带pay_action_id值的信用列的总和。但是查询输出为空SQL:SUM()在应用不相等条件时不起作用,sql,Sql,下面是我的凭单表和查询。当2时,我想计算不带pay_action_id值的信用列的总和。但是查询输出为空 SELECT sum(credit) from voucers where pay_action_id<>2 +------------------------------+ |debit | credit | pay_action_id| +------------------------------+ |40.00 | 4.00 | null | +--
SELECT sum(credit) from voucers where pay_action_id<>2
+------------------------------+
|debit | credit | pay_action_id|
+------------------------------+
|40.00 | 4.00 | null |
+------------------------------+
|0.00 | 46.00 | 2 |
+------------------------------+
|0.00 | 34.00 | 1 |
+------------------------------+
|40.00 | 0.00 | null |
+------------------------------+
从付款行动id2的凭证中选择金额(贷方)
+------------------------------+
|借方|贷方|付款|行动| id|
+------------------------------+
|40.00 | 4.00 |空|
+------------------------------+
|0.00 | 46.00 | 2 |
+------------------------------+
|0.00 | 34.00 | 1 |
+------------------------------+
|40.00 | 0.00 |零|
+------------------------------+
输出:如果解决与大多数其他比较一样,
过滤掉空值。如果您想要它们,您需要显式地包含它们。一种方法是:
SELECT sum(credit)
FROM voucers
WHERE pay_action_id <> 2 OR pay_action_id IS NULL;
MySQL有一个定制的运营商:
WHERE NOT (pay_action_id <=> 2)
不在哪里(付款行动id 2)
仅使用您正在使用的数据库标记您的问题。删除了冲突的数据库标记,请添加您实际使用的数据库标记!
WHERE NOT (pay_action_id <=> 2)