码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Navicat 查询创建工具 | 设置分组准则 - Part 5


    在 Navicat for MySQL、PostgreSQL、SQLite、MariaDB 和 Navicat Premium 的非 Essentials 版本中,查询创建工具是一个用于直观地创建和编辑查询的工具。第 4 部分描述了如何在查询中使用原生 SQL 聚合函数以显示列的统计信息。本部分将介绍如何使用查询创建工具根据 HAVING 条件筛选已分组的数据。

     如果你想要试用 Navicat,欢迎点击 这里 下载免费全功能试用版。

    关于 Sakila 示例数据库

    我们今天将在此处构建的查询将在 Sakila 示例数据库运行。它包含许多以电影业为主题的表,涵盖从演员和电影制片厂到影碟出租店的所有内容。有关下载和安装 Sakila 数据库的说明,请参阅 Generating Reports on MySQL Data(生成 MySQL 数据报表)教程。

    使用 HAVING 子句筛选结果组

    SQL HAVING 子句是与 GROUP BY 子句结合使用,以根据一个或多个准则限制返回行的组。与在 GROUP BY 子句之前应用的 WHERE 子句相比,HAVING 子句在 GROUP BY 子句聚合行之后再对其应用筛选。

    确定有多少名演员同姓

    如果我们想知道数据库中有多少名演员与至少两名其他演员同姓,我们可以使用 GROUP BY 子句根据 actors 表的 last_name 字段聚合演员。

    我发现无论是使用查询编辑器还是查询创建工具构建查询,最好都是先选择表。

    • 考虑到这一点,打开查询创建工具,点击 FROM 关键字旁边的 <按这里添加表> 标签,然后从列表中选择 sakila.actor 表:


    • actor 表及其所有字段会出现在顶部窗格中。我们需要两个字段:last_name 和行数。点击表中 last_name 字段旁边的框:

      若要将 Count 函数添加到字段列表,请点击 SQL 语句中 actor.last_name 字段下面的 <按这里添加字段> 标签,然后在弹出对话框的“编辑”选项卡中输入“Count(*)”: 

    • 下一步是添加 GROUP BY 子句。请点击 <按这里添加 GROUP BY> 标签,然后从弹出对话框中选择 actor.last_name 字段。
    • 点击“确定”按钮以关闭“查询创建工具”。

    这将把以下的 SQL 添加到查询编辑器:

    SELECT
    actor.last_name,
    Count(*) AS last_name_count
    FROM
    actor
    GROUP BY
    actor.last_name
    

    以下是上述查询的结果:

    如你所见,结果是按 last_name 进行分组和排序。但它没有将结果限制演员为与至少两个其他演员同姓。为此,我们需要添加HAVING子句。

    • 重新打开查询创建工具,然后点击 HAVING 关键字旁边的 <按这里添加条件> 标签。这将插入一个“<-->= <-->”表达式标签。
    • 点击表达式左侧的“<-->”标签。last_name_count 字段不会出现在字段列表中,因为列表只包含表字段。因此,请在”编辑“选项卡中输入 last_name_count:

    • 接下来,点击等于“=”标签以打开比较运算符列表。从列表中选择“大于或等于”(>=)运算符:

    • 最后,点击表达式右侧的“<-->“标签,然后在”编辑“选项卡中输入”3“。
    • 点击“确定”按钮以关闭“查询创建工具”。

    这将在查询中添加“HAVING last_name_count >= 3”表达式。这次查询只显示在表中姓氏出现三次或更多的演员:

    往期回顾

    Navicat 被投毒了 | 真相来了!

    盗版引发设备瘫痪

    Navicat 16 现已支持 OceanBase 社区版

    Navicat 成为信通院数据库创新实验室成员

    Navicat 学术伙伴计划 - 免费教育版申请

    Navicat 技术智库 - 实战演练与各类热门问题解答

    免费试用攻略 | Navciat 16 数据库管理工具

  • 相关阅读:
    uniapp 配置并使用 VueX
    数据库MySQL----(三)数据库进阶学习
    【漏洞复现-solr-命令执行】vulfocus/solr-cve_2019_17558
    古早软件 vim的使用
    vue常见问题汇总
    Multisim 13-电子线路实验
    [计算机网络实验]头歌 实验二 以太网帧、IP报文分析(含部分分析)
    AB 实验 p_value 计算
    公众号迁移小程序也会迁移吗?
    计算机视觉的应用13-基于SSD模型的城市道路积水识别的应用项目
  • 原文地址:https://blog.csdn.net/weixin_53935287/article/details/127550805
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号