php多表查询排序_多表查询能统计排序,怎么写

会员表A 字段: userid,username

内容:

1 张三

2 李四

消费记录表B 字段: userid,username,money,type

内容:

1 张三 100 1

1 张三 100 1

2 李四 100 1

2 李四 100 2

要求:按type=1类型显示各个会员的总消费,并按消费金额排序

结果如:

张三 200元

李四 100元

回复讨论(解决方案)

select t.username,sum(t.money) as sum1

from table t

where t.type=1

group by t.username

order by sum1 desc

select sum(b.money) from b left join a.userid=b.userid where b.type=1 order by sum(b.money) desc

select username,sum(money) as total from 消费记录表B where type=1 group by username order by total desc

$strsql="select * from B where type=1"; $result=mysql_db_query($mysql_database, $strsql, $conn); mysql_data_seek($result, 0); $re = array();while ($row=mysql_fetch_row($result)) { isset($row['userid']) && $re[$row['userid']] += $row['money'];isset($row['userid']) || $re[$row['userid']] = $row['money'];} foreach($re as $key=>$value) {echo $value['username'].' '.$value['money'];}// 释放资源 mysql_free_result($result); // 关闭连接 mysql_close($conn);

你的B表里边已经包含了A表的内容,有必要关联两个表吗

select username,sum(money) as total from 消费记录表B where type=1 group by userid order by total desc;

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值