大佬们这条sql有没有简写的方法呢?
sql吧
全部回复
仅看楼主
level 1
四大天王 楼主
2021年04月30日 10点04分 1
level 1
四大天王 楼主
[吐舌]
2021年05月01日 02点05分 2
level 8
效率太低,子查询太多而且都是针对同意个表。
方法就是子查询换case了
sel[钱]ect count(1)
,sum(case when tm<= now() and tm >=(select now()::timestamp+'-1 day') then 1 else 0 end)
,........
from
st_river_r
2021年05月06日 01点05分 5
迟到的感谢[吐舌],谢谢大佬
2021年09月21日 10点09分
但是我测试了,80多万的数据,用我上面的sql一两秒,用case会慢一秒左右,不知道为啥,但是还是采用了case,因为简洁了许多
2021年09月21日 10点09分
@四大天王 因为case判断符合条件是1,不符合条件是0.从行数上来说等于全表查询了。查询量大,相对就会慢。但是如果是多个子查询,因为case只需要访问一次表。速度就会相对提升了
2021年09月22日 00点09分
@咸鱼初号机💤 谢谢大佬[真棒]
2021年09月22日 01点09分
level 1
ddd
2021年09月30日 13点09分 6
吧务
level 14
[小乖]
2021年10月03日 15点10分 7
1