mysql去重案例,group_concat函数的用法

mysql 去重案例:

select group_concat(distinct user_id), `tenant_id` ,  `create_time`  from `dtops_db_list` where `create_time`  >='2016-07-22 00:00:00' and `create_time` <='2016-07-28 23:59:59'  group by `tenant_id` 

1.建表语句

wjj@>create table dtstack(

    -> user_id int,

    -> user_name varchar(200) not null default '')engine=innodb default charset=utf8;

Query OK, 0 rows affected (0.05 sec)

2.插入测试数据:

wjj@>insert into dtstack values(2016,'wjj1'),(2016,'wjj2'),(2017,'wjj3');

Query OK, 3 rows affected (0.02 sec)

Records: 3  Duplicates: 0  Warnings: 0

3.现在需要对user_id字段去重:

wjj@>select distinct user_id,user_name from dtstack order by user_id limit 0,3;

+---------+-----------+

| user_id | user_name |

+---------+-----------+

|    2016 | wjj1      |

|    2016 | wjj2      |

|    2017 | wjj3      |

+---------+-----------+

3 rows in set (0.00 sec

上面的返回记录是对user_id,user_name一起去重,不是单个字段去重。

4.mysql中引入了group_concat函数,可以与group by 一起使用实现单个字段去重:

wjj]>select group_concat(distinct user_id),user_name from dtstack group by user_id order by user_id limit 0,3;

+--------------------------------+-----------+

| group_concat(distinct user_id) | user_name |

+--------------------------------+-----------+

| 2016                           | wjj1      |

| 2017                           | wjj3      |

+--------------------------------+-----------+

2 rows in set (0.00 sec)

解释:group_concat函数:是将相同的行组合起来

完整的语法如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

时间: 2024-11-08 22:33:18

mysql去重案例,group_concat函数的用法的相关文章

MySQL中group_concat函数使用例子

本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 mysql> select * from aa; +--+--+ | id| name | +--+--+ |1 | 10| |1 | 20| |1

mysql 字符连接函数 CONCAT用法

mysql教程 字符连接函数 concat用法 在mysql字符或字段内容连接函数有两个分别是concat_ws(),concat()函数了,下面看看他们简单的实例吧. concat(str1,str2,...) 返回结果为连接参数产生的字符串.如有任何一个参数为null ,则返回值为 null. mysql> select concat('我的站', '是', 'www.111cn.net'); -> '我的站是www.111cn.net' 上面是个简单的实例,下面们我们根据数据库教程来操作

MySQL中group_concat函数

本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) .MySQL中group_concat函数完整的语法如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 mysql> select * from aa;+------+------+| id| name |+------+------+|1 | 10||1

mysql-MySQL中的group_concat函数怎么用sybase实现?

问题描述 MySQL中的group_concat函数怎么用sybase实现? select distinct a.computernamea.mac GROUP_CONCAT(distinct a.username) as usernamesGROUP_CONCAT(distinct a.userid) as userids from (select distinct nons.* users.usernameclient.computername from noncontrol_softwar

mysql group_concat()函数用法总结_Mysql

本文实例讲述了mysql group_concat()函数用法.分享给大家供大家参考,具体如下: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来.要返回哪些列,由函数参数(就是字段名)决定.分组必须有个标准,就是根据group by指定的列进行分组. group_concat函数应该是在内部执行了group by语句,这

mysql中group_concat函数用法

一.语法   GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])   也可以简单的理解   group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])   二.group_concat

MySql中GROUP_CONCAT()函数使用详解

语法:  代码如下 复制代码 GROUP_CONCAT([DISTINCT] expr [,expr ...]                [ORDER BY {unsigned_integer | col_name | expr}                    [ASC | DESC] [,col_name ...]]                [SEPARATOR str_val]) 1.例如:  代码如下 复制代码 SELECT student_id, GROUP_CONCA

为什么 MySQL 中 GROUP_CONCAT 函数返回 BLOB 大对象类型?(Why GROUP_CONCAT returns BLOB?)

为什么 MySQL 中 GROUP_CONCAT 函数返回 BLOB 大对象类型?(Why GROUP_CONCAT returns BLOB?) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作.

mysql时间转换函数的用法

mysql时间转换函数的用法 返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对应于ODBC标准. mysql> select DAYOFWEEK(2007-10-31); -> 4 WEEKDAY(date) 返回date的星期索引(0=星期一,1=星期二, --6= 星期天). mysql> select WEEKDAY('2007-10-31 13:05:00'); -> 2 mysql> select WEEKDAY('2007-10