mysql 查询用户表,如何关联每个用户的消费总数 #mysql

#mysql

img

同时查询用户id分别为 123、234 及ta们的消费总数字段 PAY

最终的结果应该是 123用户消费总数:20,234消费总数是50,

请问如何一次查询该结果?

问题描述不是很清楚

  1. 你是想输出一个表格还是输出一个字符串?
  2. 你最后输出的123是用户id还是用户名称?
  3. 如果有用户没有消费记录,是否需要显示该用户的记录?
    但不管怎么看,这难道不是一个最最基本的查询么?
--如果不需要用户名称
select user_id ,sum(pay) from 消费记录表 
group by user_id
--如果需要用户名称
select max(user_name) ,sum(pay) from 消费记录表 a,用户表 b 
where a.user_id=b.id group by b.id
--如果用户无消费记录也需要显示
select max(user_name) ,sum(pay) from 用户表 b left join 消费记录表 a
on a.user_id=b.id group by b.id
--如果是要输出一个字符串
select group_concat(concat(user_name ,'消费总数:',pay) SEPARATOR ',') 
from (select max(user_name) user_name ,sum(pay) pay from 用户表 b left join 消费记录表 a
on a.user_id=b.id group by b.id) c