大佬们这条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