作者Wengboyu ( )
看板Database
标题Re: [SQL ] 滚动计算并回传
时间Fri Oct 16 15:36:18 2020
※ 引述《chippclass (善假狼赚钱中)》之铭言:
: 我从来没接触过10万笔以上资料的案例
: 所以我本来是想
: 240万 join 1600万 的资料
: 你应该是会用MOONY135的分批跑排程之类的做法?
: 不过若是10万笔以下的资料要跑的话应该还是能一句sql跑完所以来解一下题目
对,我还是会用MOONY135的建议,分批跑排程处理
我只是出於个人的强迫症,想要知道能不能够一句处理
这样後面跑分批应该也会比较快一点 (?)
非常感谢你把整个逻辑脉络呈现出来
我确定我应该是有看懂,也让我学到不少知识
虽然最终我修改了code在SAS环境运作,还是没办法解决重复的问题
: 其中一个比较让我意外的是里面join出来的表格居然外面的可以select
:
: 前面我说过会有这个错误:ERROR : Duplicate column name 'sid'
:
: 在 mariaDB 中就直接错误,我觉得是合理的
:
: 不然 select sid 到底是要捞哪个 sid ?
:
: 而你的 SAS sql 没报错,继续跑出结果,我猜是不是不同资料库对语法的行为不同?
:
: 莫非是因为你是 select * 而不是 select sid,
: 所以 SAS sql 就把两个 sid 都捞出来不报错?
:
: 如果是这样的话,那之後还有 GROUP BY date,sid,doctor
:
: 这个 group by sid 的又是哪个 sid ?
fig.1
https://imgur.com/MKsarjC
这个是SAS的行为,其实也是有跳出警示,但只要没有严重到无法执行
它还是会把结果跑给你
它应该是以前面那个SID为主
这个是把b.SID改名为s的结果
fig.2
https://imgur.com/z9mmuVX
fig.1 893 行 NOTE 最下面那行可以看到 295 rows and 40 columns
fig.2 901 行 NOTE 最下面那行是 295 rows and 41 columns
结果没有改变,只多了1 column named s (就是找到的每一个b.SID)
(这是只测试1笔a.SID的结果)
这是测试SID的原始资料样子
fig.3
https://imgur.com/XIXCuEl
3/24 还有看医生,25号之後就完全没再回诊,所以没有DoctorID
这个是fig.2 code跑出的结果
https://imgur.com/vVp6aeN
3/24 找到281笔b.SID,就变成281行资料
https://imgur.com/D9OEJN1
最後14笔没有看医生,所以也找不到b.SID
还是很感谢你让我知道这样写法的逻辑脉络
--
不 吗 ▲│ ◤ ˋ │ │ ◤ ˋ │ ▎ φhacoolman
不 现在签博班的话, 吗 /│ ● │____ │ ● │\ ▲ alan99
不 硕班就能毕业罗! 吗 ▊/ │ ◣ ◤ │ │ ◣ ◤ │ \ ▏ 签吗不签吗
不 吗 │ ╰────╯ ╰────╯ │ ▍ 签吗不签吗
不签吗不签吗不签吗不◥吗▊ \ │ ▎ 吗不签吗
不签吗不签吗不签吗不签 \ ︶︶ / ▏ 嘿~嘿~嘿~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 120.126.32.197 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1602833786.A.7F1.html
※ 编辑: Wengboyu (120.126.32.197 台湾), 10/16/2020 15:38:15
1F:→ chippclass: group by 是 a.date 不是 b.date 10/17 15:59
2F:→ Wengboyu: 我看不懂你的意思,你是说group by後的date要改吗? 10/17 16:37
3F:推 chippclass: a.date 全名是 PrescriptionBeginDate 10/18 19:45
4F:→ chippclass: b.date 全名是 prescriptiondate 10/18 19:46
5F:→ chippclass: 你最後的 group by 要是 PrescriptionBeginDate 10/18 19:47
6F:→ chippclass: 而不是 prescriptiondate 10/18 19:47
8F:→ chippclass: 不知道呢 10/20 00:07
9F:→ chippclass: 有关从mariaDB改写成SAS sql,我发现的也只有三个地方 10/20 00:09