试图在已经工作的内部查询SQL上使用外部查询,但出现错误1064



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

内查询

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行

我正在推送phpmyadmin,提前感谢

子查询不应该有分号,但它应该有一个别名:

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;

最新更新