站在风口哈气 2017-05-20 12:32 采纳率: 14.3%
浏览 913

关于mysql的查询问题,子查询

这是我的查询语句:

SELECT

  • FROM departments WHERE department_id = (SELECT department_id FROM employees GROUP BY department_id HAVING AVG(salary) = (SELECT MIN(AVG(salary)) FROM employees GROUP BY department_id))

最后执行的时候,mysql报出了
错误代码: 1111 Invalid use of group function

求大神指点,该怎么改这个sql语句?

  • 写回答

2条回答 默认 最新

  • KurolZ 2017-05-20 15:05
    关注

    使用[NOT]IN/EXISTS引发的子查询
    子查询形式:
    1.使用IN的子查询
    2.使用[NOT]IN的子查询
    语法结构:operand comparison_operator [NOT] IN (subquery)
    =ANY 运算符与IN 等效,!=ALL或<>ALL运算符与NOT IN等效
    3.使用[NOT]EXISTS的子查询(用的相对较少)
    如果子查询返回任何行,EXISTS将返回TRUE,否则为FALSE

    例,查找不是超极本的商品列表:
    mysql> SELECT * FROM tdb_goods WHERE goods_cate NOT IN(SELECT goods_cate FROM tdb_goods WHERE goods_cate = '超级本');
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置