妙用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 ;


 
 

猜你喜欢

转载自bugyun.iteye.com/blog/2404079