mysql UNION 有重复的数据,怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql UNION 有重复的数据,怎么解决相关的知识,希望对你有一定的参考价值。
参考技术A 你这样肯定重复,如果有的数据满足你的多个条件,就会导致重复,要想不重复,可以用下面的语句:select
*,case
when
`shop_name`
like
'%千叶%'
then
'title'
else
case
when
`shop_address`
like
'%千叶%'
then
'dz'
else
'text'
end
end
as
type
from
rice_shop_shoplist
where
`shop_name`
like
'%千叶%'
or
`shop_address`
like
'%千叶%'
or
`shop_text`
like
'%千叶%'
无需联合,使用一个语句查询出你要的数据,效果应该更高,使用case
when
...
then
...
else
...
end这样的字句获得匹配的类型。
mysql数据库中的union和union的区别(示例演示)
一、前期准备
1,安装了mysql数据库(自行百度“如何安装mysql数据库”)
2,了解一定的SQL查询等基本知识
3,推荐:为了便于使用mysql,可以安装数据库图形管理工具DBeaver。
二、进入正题
画龙点睛:union 是对数据进行并集操作,不包括重复行,同时进行默认排序而Union all 是对数据进行并集操作,包括重复行,不进行排序。如果想看示例请接着往下看。
1,建表准备数据
CREATE TABLE `student` ( `stu_id` int(20) NOT NULL AUTO_INCREMENT, `stu_name` varchar(50) DEFAULT NULL COMMENT ‘学生姓名‘, `stu_age` int(3) DEFAULT NULL COMMENT ‘学生年龄‘, `stu_sex` varchar(6) DEFAULT NULL COMMENT ‘学生性别‘, `add_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间‘, PRIMARY KEY (`stu_id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT=‘学生表‘
2,插入数据:
3,开始演示:
第一类:查询单个同样的字段进行union 或 union all操作
① 两个一样的查询语句进行union操作
② 两个一样的查询语句进行union all查询操作:
第二类:查询多个字段进行进行 union 或 union all操作
① union 、多个字段
② unino all 、 多个字段
Attention : 操作union或者union all 的注意事项:
union 或 union all查询出来的字段数得相同,如果不相同,则会出现报错的情况。
示例:
补充说明:其他变种的union和union all查询
如果想对查询的结果进行排序的话,直接在后面加上 order by 语句就行了。
针对上面查询得到的数据,示例如下:
按照stu_name降序排序,示例如下:
额外说明:操作还需自我多动手多实践。
以上是关于mysql UNION 有重复的数据,怎么解决的主要内容,如果未能解决你的问题,请参考以下文章