首页 > 解决方案 > MySQL 中的子咨询

问题描述

如何执行此子查询我开始使用 IN 执行此操作,但我正在调查并将其更改为,INNER JOIN但它仍然让我错了。

SELECT DISTINCT
    TIMESTAMPDIFF (YEAR, date_nac, CURDATE ()) AS age 
FROM patient 
WHERE date_nac 
INNER JOIN (
    select count(patient id) as Quantity 
    from patient 
    group by age 
    order by Quantity desc limit 6
);

告诉我这个错误:

错误代码:1235。此版本的 MariaDB 尚不支持“LIMIT & IN/ALL/ANY/SOME 子查询”

标签: mysqlsqljoingroup-bycount

解决方案


假设您计算年龄的语法是正确的,您可以使用如下内容:

Select age, count(age)
From
(SELECT  distinct patient_id, TIMESTAMPDIFF(YEAR, date_nac, CURDATE ()) AS age 
FROM patient
) a
Group by age;

推荐阅读