尊敬的明日科技的老师
发表在Oracle视频答疑 2016-06-12
是否精华
版块置顶:
尊敬的明日科技的老师:
您好,有个问题特向您请教:有一个数据表Test,表结构如下:
ID   Name   Amount
101  dr     100
102  cr     200
101  cr     50
102  dr     150
101  dr     300
103  dr     300
103  cr     300
104  cr     345
104  dr     355
104  dr     225
105  dr     225
105  cr     500
结果:
ID   Amount
101  350
102  -50
104  235
105  -275
请写出对应的sql查询语句。注意结果中没有103记录。(我写的是:select ID,sum(dr)-sum(cr) as Amount from Test group by ID;肯定不对)
还有一个问题:
上亿条记录的表如何优化?如何支持高并发量?谢谢。
分享到:
精彩评论 4
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2016-06-13
沙发
读者您好:
请尝试如下语句:
select ID, sum(case NAME WHEN 'dr' THEN Amount ELSE -Amount END) as Amount
       from Test
       group by ID
       having Amount != 0
fightbit
学分:0 LV1
TA的每日心情
加油
2021-04-30 21:28:49
2016-06-14
板凳
尊敬的明日科技的老师:
您好,那第二个问题呢?麻烦您给回答一下,谢谢。
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2016-06-15
地板
读者您好:
数据量大,可以考虑使用表分区,具体如何做要看具体查询语句和索引的关系。高并发,最好设置数据库读写分离,具体要看数据库的部署,如果部署在阿里云上,可以考虑购买集群服务。
fightbit
学分:0 LV1
TA的每日心情
加油
2021-04-30 21:28:49
2016-06-15
4L
谢谢。
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照