SNa*_*aRe 2 postgresql optimization
我有这个查询并且有效。但对我来说,它需要一些优化似乎很难看,因为我一遍又一遍地重复相同的动作。必须有更好的方法来合并所有这些
SELECT *
FROM
(SELECT COUNT(*) AS a
FROM order_item_histories
WHERE order_status_id IN (5, 4, 15)) AS e,
(SELECT COUNT(*) AS b
FROM order_item_histories
WHERE order_status_id IN (6)) AS f,
(SELECT COUNT(*) AS c
FROM order_item_histories
WHERE order_status_id IN (4, 10, 9, 12, 7)) AS g,
(SELECT COUNT(*) AS d
FROM order_item_histories
WHERE order_status_id IN (11, 16, 17, 13)) AS h
Run Code Online (Sandbox Code Playgroud)
使用条件聚合:
select count(*) filter (where order_status_id in (5,4,15)) as a,
count(*) filter (where order_status_id in (6)) as b,
count(*) filter (where order_status_id in (4,10,9,12,7)) as c,
count(*) filter (where order_status_id in (11,16,17,13)) as d
from order_item_histories;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
253 次 |
最近记录: |