MYSQL 中SUM函数和关联查询
来源:互联网 发布:日本 穆斯林 知乎 编辑:程序博客网 时间:2024/05/08 02:10
写在前面:昨晚迷迷糊糊的,做积分求和时候,被困住了,本来的需求是有两张表user用户表和credit用户积分表,要统计出用户的总积分并按照积分和递减排序,其中的字段写在下面:
user表中
还有其他字段就省略了,只关注我们需要的字段;
credit表中:
现在要做的就是查询出credit表中的uid所对应的points的和;然后和user表进行关联查询出uid所对应的usernam用户名;
一、错误的尝试:
或许是昨晚太晚了吧,脑子生锈了,初次尝试查询的时候想到了用sum去求和:
SELECT uid,SUM(points) AS points FROM `credit`;
但是查询出来只是显示一列数据
id points 1,73
本来这就好了,可自己偷懒想用框架中的关联查询,于是就有了下面的一系列活动(可跳过)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
二、sql的功用
好了,看了上面愚蠢的做法,我不禁怀疑我tm怎么想出来的….意识到框架只是个工具,要熟悉sql查询,今早上起来吃了两个荷包蛋,我擦,应该这样啊,思路是这样的:先sum出points,和uid组合,按照uid 分组,前面怎么没想到分组呢,
SELECT uid,SUM(points) AS points FROM `credit` GROUP BY uid ORDER BY points
果然神奇的事情出现了,排好了。。。原因是少了分组,所以只能显示一列这也就解释了第一步错误的原因;
接着就很容易了,用户和用户积分是一对一的关系,所以我选择inner join去连接;一切顺理成章:
SELECT b.username,a.uid,SUM(a.points) AS points FROM credit as a JOIN user AS b WHERE a.uid = b.id GROUP BY a.uid ORDER BY points DESC;
OK,大功告成:
显示出如上的数据表示大功告成。
- MYSQL 中SUM函数和关联查询
- MYSQL 中SUM函数和关联查询
- mysql联合查询和关联查询
- mysql中如何执行关联查询
- mysql和hive实现关联查询
- Mysql关联查询
- mysql关联查询原理
- mysql关联查询
- mysql嵌套关联查询
- 谈关联查询-mysql
- MYSQL数据库关联查询
- mysql关联查询
- MySQL关联查询
- mysql中多表不关联查询
- MySQL关联查询
- mysql-(四)-关联查询
- mysql关联查询
- Mysql关联查询
- 写了个JAVA版的所见即所得的小票打印控件
- express路由[1]
- MFC文档添加多个按钮(及响应函数)
- 模板类的继承总结
- ES6的一些新知识...
- MYSQL 中SUM函数和关联查询
- RocketMQ 4.1.0 与 Docker搭建与集群
- sass w3cplus.com/sassguide 的笔记 第二部分
- [技巧分享-window10]win10新建或删除文件后不自动刷新
- 【备忘】Python编程实践视频教程+教材 27集 下载
- 说说 JavaScript 在 DOM2 级标准中定义的遍历规则
- UNICODE和UTF-8和ASCII互转
- Java笔记-基础
- 算法分析与设计课程(14):【leetcode】 Maximal Square