• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql group by having 使用实例

mysql 搞代码 4年前 (2022-01-09) 12次浏览 已收录 0个评论

注意:使用group by的时候,SELECT子句中的列名必须为分组列。 如下实例必须包括name列名,因为name是作为group by分组的条件。

实例:

我的数据库中有一张员工工作记录表,表中的数据库如下:

<code class="language-sql">mysql> SELECT * FROM employee_tbl;+------+------+------------+--------------------+| id   | name | work_date  | daily_typing_pages |+------+------+------------+--------------------+|    1 | John | 2007-01-24 |                250 ||    2 | Ram  | 2007-05-27 |                220 ||    3 | Jack | 2007-05-06 |                170 ||    3 | Jack | 2007-04-06 |                100 ||    4 | Jill | 2007-04-06 |                220 ||    5 | Zara | 2007-06-06 |                300 ||    5 | Zara | 2007-02-06 |                350 |+------+------+------------+--------------------+7 rows in set (0.00 sec)</code>

需求一:现在我需要查找出每个员工工作了多少天,这时就需要用到group by语句:

<code class="language-sql">mysql> SELECT name, COUNT(*)    -> FROM   employee_tbl     -> GROUP BY name;+------+----------+| name | COUNT(*) |+------+----------+| Jack |        2 || Jill |        1 || John |        1 || Ram  |        1 || Zara |        2 |+------+----------+5 rows in set (0.04 sec)</code>

需求二:我现在要查找工作天数大于一天的所有员工,这个时候就需要用到group by having语句

<code class="language-sql">mysql> SELECT name, COUNT(*)    -> FROM   employee_tbl     -> GROUP BY name having COUNT(*)>1 ;+------+----------+| name | COUNT(*) |+------+----------+| Jack<strong>本文来源gaodai#ma#com搞@@代~&码网</strong> |        2 || Zara |        2 |+------+----------+2 rows in set (0.04 sec)</code>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql group by having 使用实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址