phpmyadmin 尝试在已运行的内部查询sql上使用外部查询,但出现错误1064

k4emjkb1  于 2022-11-23  发布在  PHP
关注(0)|答案(1)|浏览(120)

我需要帮助来理解这里发生了什么,因为当我试图在已经工作的内部查询上使用外部查询时,内部查询是
内部查询

SELECT DISTINCT (department_id) FROM `departments` ORDER BY department_id ASC;

这将生成一个部门ID列表,但是当我将其包含在一个外部查询中以计算部门ID的数量时,
使用外部查询

SELECT COUNT(department_id) FROM (
    SELECT DISTINCT (department_id)  FROM `departments` ORDER BY department_id ASC;)

则它给出错误为

1064 -您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解在第2行“”附近使用的正确语法

我是hushing phpmyadmin,提前感谢

wa7juj8i

wa7juj8i1#

子查询不应包含分号,但应包含别名:

SELECT COUNT(department_id)
FROM (
    SELECT DISTINCT department_id
    FROM departments
    ORDER BY department_id
) t;

请注意,在子查询中使用ORDER BY而不使用LIMIT是毫无意义的。此外,您可以只执行一个单级非重复计数查询:

SELECT COUNT(DISTINCT department_id)
FROM departments;

相关问题