在项目开发查询数据需要将相同的数据做合并处理,但是字段为null,不做合并。

创建表以及添加数据

create table t_student(
`id` int not null primary key auto_increment,
`name` varchar(32) ,
`age` int
)
insert into t_student(`name`,age) values("aa",11);
insert into t_student(`name`,age) values('bb',12);
insert into t_student(`name`,age) values('cc',13);
insert into t_student(`name`,age) values('cc',14);
insert into t_student(`name`,age) values('cc',15);
insert into t_student(`name`,age) values(null,16);
insert into t_student(`name`,age) values(null,17);

查询数据一共有7条数据

select * from t_student

结果:

再做name合并

select * from t_student group by name

结果:

结果把全部null合并在一起了。

解决方案 使用替换UUID()

https://stackoverflow.com/questions/4588935/group-by-do-not-group-null上看到了一个方法。

做分组的时候如果name为null时,对null设置成一个随机值UUID(),这样就避免了null会合并的情况。

使用UUID():

select * from t_student group by IFNULL(name,UUID())

结果:

Mysql 使用 group by 不对 null 做分组的更多相关文章

  1. 浅析MySQL使用 GROUP BY 分组聚合与细分聚合

    原创文章,转载请注明出处:http://www.cnblogs.com/weix-l/p/7521278.html: 若有错误,请评论指出,谢谢! 1. 聚合函数(Aggregate Function ...

  2. 【mybatis】【mysql】mybatis查询mysql,group by分组查询报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column

    mybatis查询mysql,group by分组查询报错:Expression #1 of SELECT list is not in GROUP BY clause and contains no ...

  3. mysql使用GROUP BY分组实现取前N条记录的方法

    MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道 ...

  4. Mysql命令-以NULL做where条件过滤时应该写 IS NULL;

    以NULL做where条件过滤时应该写 IS NULL;SELECT * FROM pet WHERE death IS NULL; SELECT * FROM pet WHERE death IS ...

  5. MySQL优化GROUP BY-松散索引扫描与紧凑索引扫描

    满足GROUP BY子句的最一般的方法是扫描整个表并创建一个新的临时表,表中每个组的所有行应为连续的,然后使用该临时表来找到组并应用累积函数(如果有).在某些情况中,MySQL能够做得更好,即通过索引 ...

  6. MySQL单表查询 条件查询,分组

    目录 1 where 条件查询 between like not in 2 group by 分组 聚合函数:max min sum avg count 3 having 过滤 4 distinct ...

  7. MySQL之GROUP BY用法误解

    1.说明  “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理.(只是简单说明这个 ...

  8. 关于MySQL中group by的一些问题的记录

    only full group by问题的解约方案 这个报错的原因是,在SQL语句中,你查询的字段应该是你分组的依据,即select的column应该全部跟在group by之后.这个也和MySQL的 ...

  9. 转:深入研究mysql中group by与order by取分类最新时间内容

    鉴于项目的需要,就从网上找到该文章,文章分析得很详细也很易懂,在android里, (不知道是不是现在水平的限制,总之我还没找到在用ContentProvider时可以使用子查询),主要方法是用SQL ...

  10. mysql distinct&group by 应用

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...

随机推荐

  1. docker安装mysql8.0.20并远程连接

    前言 今天docker安装mysql8.0.20捯饬了半天,主要是挂载问题和连接问题,索性记录一下.网上很多千篇一律,还有很多就是过时了,那还是我自己上场吧.大家看的时候,请睁大眼睛,按步骤来. Do ...

  2. 基于 ASK + EB 构建容器事件驱动服务

    简介:本篇文章以"在线文件解压场景"为例为大家展示经典 EDA 事件驱动与容器如何搭配使用. 作者:冬岛.肯梦 导读 EDA 事件驱动架构( Event-Driven Archit ...

  3. [FAQ] 如何避免过度依赖百度, 甚至超越百度

    查找信息,你不依赖百度,势必要依赖其它. 那么如何超越百度搜索,也必须要站在巨人的肩膀上. 搜索市场已有不少巨头,最简单的超越办法是:站在所有巨人的肩膀上. Other:搜索的超越 Link:http ...

  4. [FAQ] uni-app 运行微信小程序 main.wxss 报错 unexpected token "$"

    检查一下你是否在 App.vue 中有手动操作引入过 uni.scss,比如下面的 import: <style lang="scss"> @import url(&q ...

  5. Qt Quick 工程创建

    一.简介 Qt Quick是Qt框架中的一个模块,用于创建现代.响应式的用户界面.它基于QML(Qt Meta-Object Language)语言和Qt Quick Controls库,提供了一种声 ...

  6. VSCode 在 windows 下默认添加 _WIN32 的问题

    现象 在 VSCode 在 windows 下环境中使用时,会默认添加 _WIN32 ,会出现查看代码时,出现错误提示,现象如下 检测到 #include 错误.请更新 includePath.已为此 ...

  7. Quartus prime 的安装步骤:

  8. 【技术流吃瓜】python可视化大屏舆情分析“张天爱“事件微博评论

    目录 一.事件背景 二.微热点分析 二.自开发Python舆情分析 2.1 Python爬虫 2.2 可视化大屏 2.2.1 大标题 2.2.2 词云图 2.2.3 条形图 2.2.4 饼图(玫瑰图) ...

  9. 智能体Agent-书生浦语大模型实战营学习笔记6&大语言模型10

    大语言模型学习:10.智能体Agent 书生浦语大模型实战营学习笔记6 定义 即P(感知)-> P(规划)->A(行动).类似人类「做事情」的过程,Agent的核心功能,可以归纳为三个步骤 ...

  10. PostgreSQL世界上最先进的开源关系型数据库

    PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库". PostgreSQL是一个功能非常强大.源代码开放的对象关系数据库系统(ORDBMS),在灵活的B ...