COUNT Except子查询的行数



做一个简单的except查询可以工作,并根据我的需要返回我的单个列。我的客户端甚至会给我计数,这是我最终需要的。

但是,在使用上一个结果作为目标表时使用COUNT会返回错误。

这项工作:

(SELECT id
FROM product_to_machine
WHERE created_timestamp > "2020-12-01" AND shortcut = 0)
EXCEPT
(SELECT id
FROM product_out_of_machine)

它返回具有许多值的单个列,并且客户端提示其大小为1865r*1c。

这不起作用:

SELECT COUNT(*)
FROM(
(SELECT id
FROM product_to_machine
WHERE created_timestamp > "2020-12-01" AND shortcut = 0)
EXCEPT
(SELECT id
FROM product_out_of_machine)
)

这返回一个错误:

/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 9 */

第9行对应于右括号。我做错了什么或误解了什么?

版本:MariaDB 10.4.12

你的括号太重了,试试

SELECT COUNT(*)
FROM
(SELECT id
FROM product_to_machine
WHERE created_timestamp > "2020-12-01" AND shortcut = 0
EXCEPT
SELECT id FROM product_out_of_machine
) a;

还要注意别名a..

最新更新