`

(转)mysql 列转行

阅读更多

mysql 的group_concat函数很好用,可以把列转成行。

SELECT threadid, group_concat(postid separator ',') as postids FROM msg_reply where group by threadid

输出

threadid     postids
---------------------
1               1,2,3,4
2               5,6,7

得到postids 后可以很方便做in查询,连implode都省了

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

分享到:
评论
1 楼 tjuximo 2011-11-30  
group_concat中的返回结果有大小限制的,mysql默认是1024b,太大了不行,求无限制解决方案。

相关推荐

    mysql-行转列、列转行

    标题“mysql-行转列、列转行”涉及到的是MySQL中的两种主要转换技巧: 1. **行转列(Pivot)**: 行转列通常用于将多行数据转换为单行的多个列。在MySQL中,没有内置的PIVOT函数,但可以通过使用`CASE`语句配合`...

    Mysql 行转列,列转行 SQL语句和示例表结构SQL

    MySQL 提供了两种转换数据布局的方法:行转列(Pivot)和列转行(Unpivot),这在处理复杂的数据汇总和展示时非常有用。本文将深入探讨这两种转换方法,并提供具体的 SQL 语句示例,以及创建示例表结构的 SQL 代码。...

    mysql行转列(将同一列下的不同内容的几行数据,转换成几列显示)、列转行、行列汇总、合并显示

    MySQL 行转列、列转行、行列汇总、合并显示 MySQL 行转列是一种常用的数据处理操作,用于将同一列下的不同内容的几行数据转换成几列显示。例如,我们有一个成绩表 tb_score,其中包含 userid、subject 和 score 三...

    MySql 列转行实例

    总之,MySQL中的列转行操作是一个实用的技巧,尤其在处理多维度数据分析时,能够极大地提升数据的可读性和分析效率。通过存储过程,我们可以根据具体需求灵活地实现这一转换,使得复杂的数据变得更加易管理和解析。

    mysql列转为非固定字段

    -- MySQL 行转列 非固定列 2009-4-25 by kim -- CREATE TABLE `expense_log` ( -- `EXPENSE_ID` INT(10) DEFAULT NULL, -- `USER_ID` VARCHAR(45) DEFAULT NULL, -- `TOTAL` INT(11) DEFAULT NULL -- ) ENGINE=...

    mysql 列转行的技巧(分享)

    下面小编就为大家带来一篇mysql 列转行的技巧(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    MySQL行转列与列转行.pdf

    ### MySQL行转列与列转行详解 #### 行转列 在数据库处理过程中,有时候我们需要将表中的数据从行的形式转换为列的形式,这样的操作称为“行转列”。这种需求通常出现在对数据进行汇总或者特定展示时。下面通过一个...

    mysql 列转行,合并字段的方法(必看)

    列转行:利用max(case when then) max—聚合函数 取最大值 (case course when ‘语文’ then score else 0 end) —判断 as 语文—别名作为列名 SELECT `name`, MAX( CASE WHEN course='\u8bed\u6587' THEN ...

    mysql 行转列和列转行实例详解

    在MySQL数据库中,行转列和列转行是两种常见的数据转换操作,它们在数据分析和报表展示时尤其有用。下面将详细介绍这两种操作及其实例。 ### 行转列 行转列,即把原本多行的数据转换成单行,通过多个列来表示。这...

    mysql列转行以及年月分组实例

    在MySQL数据库中,数据处理时常会遇到将列转换为行的需求,这通常涉及到行转列(Pivot)操作。在给定的实例中,我们看到了如何实现这一操作以及结合年月进行分组统计的方法。这里我们将详细解释这些知识点。 1. **...

    MySQL中将一列以逗号分隔的值行转列的实现

    即一列中存储了多个属性值。如下表 pk value 1 ET,AT 2 AT,BT 3 AT,DT 4 DT,CT,AT 一般有这两种常见需求(测试数据见文末) 1.得到所有的不重复的值,如 value AT BT CT DT ET SQL...

    sql动态行转列 存储过程

    在SQL数据库操作中,"行转列"是一种常见的数据转换需求,它将表格中的多行数据转换为单列显示,通常用于数据汇总和分析。在本案例中,我们主要探讨如何使用SQL语句,尤其是存储过程,来实现动态的行转列功能。这在...

    MySQL存储过程中使用动态行转列

    本文介绍的实例成功的实现了动态行转列。下面我以一个简单的数据库为例子,说明一下。 数据表结构 这里我用一个比较简单的例子来说明,也是行转列的经典例子,就是学生的成绩 三张表:学生表、课程表、成绩表 学生表...

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    SQL行转列、列转行的简单实现

    本篇文章将详细探讨MySQL中如何实现行转列和列转行的操作。 **行转列** 行转列主要是将表格中的一组值从行的形式转换为列的形式。这在数据分析时非常有用,比如当我们需要汇总不同科目的成绩时。在MySQL中,可以...

    sql 行专列 列转行 普通行列转换

    以下将详细探讨如何在SQL Server中进行行转列和列转行的操作。 1. **行转列(Pivot)** 行转列是将某一列的数据作为新表的列名,而其他列对应的数据则填充到这些新列中。在SQL Server中,可以使用`PIVOT`操作或`...

Global site tag (gtag.js) - Google Analytics