提问者:小点点

它一直显示错误函数不存在


工作台工作人员

表PAYLEVEL

我需要mysql查询:显示薪酬超过15000的工人的级别和数量

我试过这些

mysql> SELECT WORKER.count(PLEVEL), PAY 
        FROM WORKER 
            JOIN PAYLEVEL ON WORKER.PLEVEL=PAYLEVEL.PLEVEL 
        where pay >= 15000;

错误1630(42000):函数Worker.Count不存在。 请查看参考手册中的“函数名解析和解析”部分

mysql> SELECT PAYLEVEL.PLEVEL,count(PLEVEL), PAY 
        FROM WORKER 
            JOIN PAYLEVEL ON WORKER.PLEVEL=PAYLEVEL.PLEVEL 
        where pay >= 15000;

错误1052(23000):字段列表中的列“PLEVEL”不明确


共1个答案

匿名用户

count不是表名的函数,因此您不需要在函数count前加上表名,最终您需要在count函数中为列名参数加上表名

 SELECT count(worker.PLEVEL), PAY 
    FROM WORKER 
        JOIN PAYLEVEL ON WORKER.PLEVEL=PAYLEVEL.PLEVEL 
    where pay >= 15000
 GROUP BY PAY;

对于聚合函数,还需要group by

如果你也需要为plevel聚集,那么

SELECT count(worker.PLEVEL), PAY, PAYLEVEL.PLEVEL 
    FROM WORKER 
        JOIN PAYLEVEL ON WORKER.PLEVEL=PAYLEVEL.PLEVEL 
    where pay >= 15000
 GROUP BY PAY, PAYLEVEL.PLEVEL ;