Sql 如何用零来填补总计查询中的空白?
我有一个这样的数据表Sql 如何用零来填补总计查询中的空白?,sql,oracle,oracle11g,oracle10g,Sql,Oracle,Oracle11g,Oracle10g,我有一个这样的数据表 picks 20 20 20 18 17 12 12 9 9 这是表格,但我需要得到这样的结果 Picks Count 20 3 19 0 18 1 17 1 16 0 ...up to 1 12 我们如何编写查询以获得表中不存在的数据的零总计 Arun使用子查询生成所有数字,然后将其外部联接到表中 with nos as ( select level as pick_id
picks
20
20
20
18
17
12
12
9
9
这是表格,但我需要得到这样的结果
Picks Count
20 3
19 0
18 1
17 1
16 0
...up to
1 12
我们如何编写查询以获得表中不存在的数据的零总计
Arun使用子查询生成所有数字,然后将其外部联接到表中
with nos as ( select level as pick_id
from dual
connect by level <= 20 )
select nos.pick_id
, count(*)
from nos
left outer join picks
on nos.pick_id = picks.id
group by nos.pick_id
order by nos.pick_id desc ;