还是问一个mysql的查询汇总的汇总问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了还是问一个mysql的查询汇总的汇总问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1618字,纯文字阅读大概需要3分钟。
内容图文
![还是问一个mysql的查询汇总的汇总问题](/upload/InfoBanner/zyjiaocheng/193/173e4cc8cd024728ae1572c2d909ab25.jpg)
有对着这五个人打分的表格(某个人有可能没有得到过分数)
id uid scroe-------------1 1 1.52 1 1.83 2 -5.54 1 0.85 2 8.26 1 -27 4 38 2 2.3--------------
现在要统计他们所有人的分数,即使查询不到某个人的得分,也要显示0分,显示格式如下:
用户 分数 汇总分-----------------------1 1.5 2.11 1.8 2.11 0.8 2.11 -2 2.12 -5.5 52 8.2 52 2.3 53 0 04 3 35 0 0
回复讨论(解决方案)
不知道楼主想要问什么
怎么得到第二张表,mysql语句怎么写?
建表:
CREATE TABLE a (`id` int, `uid` int, `scroe` float); INSERT INTO a (`id`, `uid`, `scroe`)VALUES (1, 1, 1.5), (2, 1, 1.8), (3, 2, -5.5), (4, 1, 0.8), (5, 2, 8.2), (6, 1, -2), (7, 4, 3), (8, 2, 2.3);
问题是你数据集里都没uid=3和uid=5的纪录。参考
select t.*,round(s.scroe,1) as scroe , round(if(s.total is null,0,s.total),1) as summary from (select 1 as uid union select 2 as uidunionselect 3 as uid union select 4 as uidunion select 5 as uid) t left join (select uid,scroe,(select sum(scroe) from a where uid=aa.uid group by uid) as total from a as aa) son s.uid = t.uid
问题是你数据集里都没uid=3和uid=5的纪录。
uid是和user表里管理的字段,根据user表里的记录来读取:
在这里: http://bbs.csdn.net/topics/390673185
用户表tu
得分表t
SQL:SELECT tu.uid,t.score,a.total from test t right join test_user tu on tu.uid=t.uid left join (SELECT uid,sum(score) as total from test group by uid) a on a.uid=t.uid order by tu.uid
结果
内容总结
以上是互联网集市为您收集整理的还是问一个mysql的查询汇总的汇总问题全部内容,希望文章能够帮你解决还是问一个mysql的查询汇总的汇总问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。