对同一张表先分组聚合,再连接left join拼接其中的一条数据
对同一张表先分组聚合,再连接left join拼接其中的一条数据
SELECT a.account,a.money,b.recharge,b.rechargetime from (
SELECT account,SUM(recharge) money FROM tbl_account_recharge_record WHERE location = ‘天津’
GROUP BY account ORDER BY money DESC)a
LEFT JOIN
( select * from tbl_account_recharge_record WHERE location = ‘天津’ GROUP BY account )b
on a.account = b.account
ORDER BY money DESC
结果如图:
之前left join 右表直接写成tbl_account_recharge_record了。导致返回很多个数据。我理想中的数据返回就是每个account,充值总额,再加上任意一条充值的信息。正确写法是 LEFT JOIN
( select * from tbl_account_recharge_record WHERE location = ‘天津’ GROUP BY account )b!!!