`
like.eagle
  • 浏览: 248630 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql中GROUP BY结合GROUP_CONCAT的使用

阅读更多

有查询语句如下所示:

select id, type, size, place_id from contents;

查询结果↓:

id  type size place_id 

1   txt    12   100

2   jpg   10   100

3   bmp 15   100  

4   jpg   13   101

5   txt    20   101

 

需求是要统计每个place中content的个数(file_num),文件种类(file_type),总SIZE数(file_size )。

 

于是想到了用来统计的SQL语句如下所示:

SELECT place_id, COUNT(id)  file_num, content_type  file_type, SUM(size)  file_size FROM contents;

查询结果↓:

place_id  file_num  file_type  file_size 

100         3             txt            37

101         2             jpg           33

 

从上述查询记过可以得知file_type的统计有问题:

例如,

对于place 100来说,其中有三种type分别是txt、jpg、bmp,

但是上述语句只能统计出一种,这时就要用到GROUP_CONCAT函数了呢。。。

 

更改SQL文为:

SELECT place_id, COUNT(id)  file_num, GROUP_CONCAT(content_type SEPARATOR "&")  file_type, SUM(size)  file_size FROM contents;

查询结果↓:

place_id  file_num  file_type              file_size 

100         3             txt&jpg&bmp       37

101         2             jpg&txt                33

 

这样的结果就对了!

 

 

 

 

分享到:
评论

相关推荐

    【GROUP_CONCAT】使用之MySQL官方文档翻译

    【GROUP_CONCAT】使用之MySQL官方文档翻译

    MySQL GROUP_CONCAT限制解决方案

    作用:  GROUP_CONCAT函数可以拼接某个字段值成字符串,默认的分隔符是 逗号,即...SHOW VARIABLES LIKE 'group_concat_max_len' 操作方法:(如图) 调整长度设置方法: (1)在MySQL配置文件中加入:  文件:my.ini

    如何修改Mysql中group_concat的长度限制

    在mysql中,有个函数叫“group_concat”,平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了,其实MYSQL内部对这个是有设置的,默认不设置的长度是1024,如果我们需要更大,就需要手工去修改 ...

    mysql中GROUP_CONCAT的使用方法实例分析

    本文实例讲述了mysql中GROUP_CONCAT的使用方法。分享给大家供大家参考,具体如下: 现在有三个表,结构如下: cate表: CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `...

    Mysql的GROUP_CONCAT()函数使用方法

    语法: GROUP_CONCAT([DISTINCT] expr [,expr …][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name …]][SEPARATOR str_val]) 下面演示一下这个函数,先建立一个学生选课表...

    MySQL中group_concat函数深入理解

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,需要的朋友可以适当参考下

    MySQL统计函数GROUP_CONCAT使用陷阱分析

    本文实例分析了MySQL统计函数GROUP_CONCAT使用中的陷阱。分享给大家供大家参考,具体如下: 最近在用MySQL做一些数据的预处理,经常会用到group_concat函数,比如类似下面一条语句 代码如下:mysql>select aid,group...

    mysql的group_concat函数使用示例

    MySQL中group_concat函数,完整的语法如下: 代码如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 基本查询 代码如下:select * from aa; 代码如下:+——+——+|...

    浅谈MySQL中group_concat()函数的排序方法

    group_concat()函数的参数是可以直接使用order by排序的。666。。 下面通过例子来说明,首先看下面的t1表。 比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要从高到底排序。 可以这样写...

    mysql group_concat()函数用法总结

    本文实例讲述了mysql group_concat()函数用法。分享给大家供大家参考,具体如下: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。比较抽象,难以理解。 通俗点理解,其实是...

    MySQL拼接字符串函数GROUP_CONCAT详解

    本文给大家详细讲解了MySQL的拼接字符串函数GROUP_CONCAT的几种使用方法以及详细示例,有需要的小伙伴可以参考下

    mysql group_concat 实现把分组字段写成一行的方法示例

    主要介绍了mysql group_concat实现把分组字段写成一行的方法,结合实例形式分析了group_concat函数的功能、查询用法及相关操作技巧,需要的朋友可以参考下

    mysql如何将多行数据合并成一行

    select group_concat(list_name) from aa_list 您可能感兴趣的文章:MySql采用GROUP_CONCAT合并多条数据显示...concat()函数用法总结MySQL统计函数GROUP_CONCAT使用陷阱分析mysql的group_concat函数使用示例MySQL中gro

Global site tag (gtag.js) - Google Analytics