妙用GROUP_CONCAT,先排序又分组

妙用GROUP_CONCAT,先排序再分组

 

表结构 

妙用GROUP_CONCAT,先排序又分组
 

表数据

妙用GROUP_CONCAT,先排序又分组
 

 

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

 

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

妙用GROUP_CONCAT,先排序又分组
 
 

 

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 ;

 

妙用GROUP_CONCAT,先排序又分组