我有一个包含这样数据的表
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
我们如何编写查询以获得表中不存在的数据的零总数?
阿伦
答案 0 :(得分:2)
使用子查询生成所有数字,然后将其连接到表中。
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 ;