`
bugyun
  • 浏览: 557300 次
社区版块
存档分类
最新评论

妙用GROUP_CONCAT,先排序再分组

 
阅读更多

 

表结构 


 

表数据


 

 

GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成。

 

SELECT
	alias,
	GROUP_CONCAT(cost_money) AS maxCostNearestDate
FROM
	beyond
GROUP BY
	alias;


 
 

 

Q: 获得某人最近花费最多的那天的记录

A: 

 1. 通过下面SQL获得默认按金额倒序、日期倒序的记录;

 2. 通过程序分割截取,获得对应的cost_money 和 create_time

 

SELECT
	alias,
	GROUP_CONCAT(
		DISTINCT cost_money,
		'^',
		CREATE_time
	ORDER BY
		cost_money DESC,
		create_time DESC SEPARATOR '|'
	) AS maxCostNearestDate
FROM
	beyond
GROUP BY
	alias ;

 


 
 

  • 大小: 13.3 KB
  • 大小: 7 KB
  • 大小: 5.9 KB
  • 大小: 8.2 KB
分享到:
评论

相关推荐

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

    默认情况下,`GROUP_CONCAT` 使用升序排序,但可以通过添加 `DESC` 关键词改为降序排序。 4. **分隔符** 默认情况下,`GROUP_CONCAT` 使用逗号作为分隔符。但是,可以通过 `SEPARATOR` 关键词指定其他字符作为...

    Mysql的GROUP_CONCAT()函数使用方法

    MySQL中的GROUP_CONCAT()函数是一个非常实用的聚合函数,它允许你在分组查询时将同一组内的多个值合并成一个字符串。此函数主要用于数据分析和报表生成,尤其在处理多对多关系的数据时,能简化数据处理流程。在本文...

    wm_concat函数DDL.zip

    首先,`wm_concat`函数的原意是返回一个分组内的所有值,用指定的分隔符连接。例如,如果你有一个包含产品ID和名称的表,你可以使用`wm_concat`来获取每个分类的所有产品ID或名称的列表。但在Oracle 11g及以后版本,...

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

    GROUP_CONCAT还提供了其他一些高级用法,比如`ORDER BY`子句可以对合并的值进行排序,`SEPARATOR`子句可以自定义分隔符,例如: ```sql GROUP_CONCAT(bid ORDER BY bid ASC SEPARATOR ', ') ``` 这将按照`bid`升序...

    MySQL中group_concat函数深入理解

    MySQL中的`GROUP_CONCAT`函数是一个非常实用的聚合函数,它允许你在分组查询中将一组行的某个列值合并成一个字符串,每个值之间由指定的分隔符隔开。这个函数对于数据汇总和报告生成特别有用,因为它可以把多行数据...

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

    在MySQL数据库中,`GROUP_CONCAT()` 是一个非常实用的聚合函数,它允许我们将相同分组内的多个值合并成一个字符串,用特定的分隔符隔开。在处理需要汇总和展示多列数据时,这个函数尤其有用。本文将深入探讨 `GROUP_...

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

    在MySQL数据库中,`GROUP_CONCAT` 是一个非常实用的聚合函数,用于将同一组内的多个行值合并成一个单一的字符串,通常以逗号作为默认分隔符。然而,当处理大量数据时,可能会遇到内容被截断的情况,这是因为MySQL对`...

    BLOG_Oracle_wm_concat包的订制.pdf

    在这里,`column_name`是你希望聚合的列名,`delimiter`是连接各个值的字符,`WITHIN GROUP (ORDER BY column_name)`确保结果按照指定的列排序。 当处理的数据长度超过Varchar2的最大限制时,可能会遇到`ORA-01489:...

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

    在MySQL中,`GROUP_CONCAT` 是一个非常实用的聚合函数,它允许你在进行分组查询时,将相同分组内的多个字段值合并为一个单一的字符串,通常用于处理那些需要将多行数据整合到一行的情况。这个函数特别适用于那些需要...

    mysql的group_concat函数使用示例

    MySQL中的`GROUP_CONCAT`函数是一个非常实用的聚合函数,用于在分组查询时将同一组内多个相同字段的值合并成一个字符串,各值之间用指定的分隔符隔开。这个函数对于数据报告、汇总和数据分析非常有用。下面我们将...

    wmsys.wm_concat详细示例.txt

    SELECT id, wmsys.wm_concat(name) AS name FROM idtable GROUP BY id; ``` 这段代码的结果将返回每个`id`对应的`name`列值的汇总字符串,如`10`对应的`name`列值为`'ab,bc,cd'`,而`20`对应的`name`列值为`'hi,ij,...

    MySQL拼接字符串函数GROUP_CONCAT详解

    在示例中,`CONCAT_WS(', ', contactLastName, contactFirstName)`将名和姓用逗号连接,然后整个结果再用分号分隔。 总之,GROUP_CONCAT函数是MySQL中处理字符串拼接的利器,尤其在需要对分组数据进行汇总时,能...

    自写函数用于替换wm_concat函数.zip

    在Oracle数据库中,`WM_CONCAT`函数是一个非常实用的工具,它允许我们将多个行的数据合并成一个字符串,但是这个函数在Oracle 11g R2版本之后被标记为弃用,不再推荐使用。为了应对这个问题,开发者们经常需要自定义...

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

    我们可以修改查询,使用GROUP_CONCAT将aname字段的多个值合并成一个字符串,用指定的分隔符(这里是'-')分隔: ```sql SELECT a.id AS aid, a.title AS atitle, c.name AS cname, GROUP_CONCAT(ae.name SEPARATOR ...

    oracle合并列的函数wm_concat的使用详解

    需要注意的是,虽然`WM_CONCAT`在某些场景下非常实用,但其性能和并发性限制以及在新版本的Oracle中的弃用,意味着在新的开发中应当避免使用。Oracle推荐使用`LISTAGG`函数来替代`WM_CONCAT`,`LISTAGG`提供了更强大...

    MySQL 连接字符串函数 CONCAT() CONCAT-WS() GROUP-CONCAT()

    在 MySQL 中,处理字符串拼接有几种非常实用的函数,它们分别是 `CONCAT()`、`CONCAT_WS()` 和 `GROUP_CONCAT()`。这些函数在数据库操作中经常用于构建复合字符串,以满足特定的需求。 1. **CONCAT() 函数** `...

    MySQL基于group_concat()函数合并多行数据

    MySQL中的`GROUP_CONCAT()`函数是一个非常实用的聚合函数,它允许你在查询结果中将同一组内多个行的某个或某些列的值合并成单行的字符串,这对于数据的汇总和展示非常有用。这个函数的基本语法是: ```sql GROUP_...

    mysql利用group_concat()合并多行数据到一行

    在MySQL数据库中,`GROUP_CONCAT()` 函数是一个非常实用的聚合函数,它允许我们将多行数据合并成一行,特别适合处理一对多关系的数据。在上述的标题和描述中,我们看到一个具体的应用场景,即如何在SQL层面上将一对...

Global site tag (gtag.js) - Google Analytics