GROUP BY的使用

举报
Nick Qiu 发表于 2020/10/23 12:51:53 2020/10/23
【摘要】 前言本文介绍 group by 关键字在mysql中的使用创建数据库创建如下初始化数据库,供后面测试使用;DROP TABLE IF EXISTS `user_info`;CREATE TABLE `user_info` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `user_id` VARCHAR(50) NO...

前言

本文介绍 group by 关键字在mysql中的使用

创建数据库

创建如下初始化数据库,供后面测试使用;

DROP  TABLE IF EXISTS `user_info`;CREATE TABLE `user_info` (    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',    `user_id` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '用户编号',    `grade` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '年级',        `score` INT(11) DEFAULT 0 COMMENT '分数',    `class` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '班级',
    PRIMARY KEY (`id`),    UNIQUE INDEX `uniq_user_id` (`user_id`)
);INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (10, '10230', 'C',11, 'B');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (9, '10229', 'C',11, 'a');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (8, '10228', 'B',11, 'b');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (7, '10227', 'B',11, 'b');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (6, '10226', 'B',11, 'a');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (5, '10225', 'B',11, 'a');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (4, '10224', 'A',11, 'b');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (3, '10223', 'A',11, 'b');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (2, '10222', 'A',11, 'a');INSERT INTO `user_info` (`id`, `user_id`, `grade`,`score`, `class`) VALUES (1, '10221', 'A',11, 'a');

使用样例

  • 查询记录中各个grade中的最大值

select max(user_id),grade from user_info group by grade ;


image.png

  • 添加过滤条件

select max(user_id),grade from user_info group by grade  having grade>'A'


image.png

  • 查询各个grade的总分数

select SUM(score),grade from user_info group by grade ;



image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。