Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何用零来填补总计查询中的空白?_Sql_Oracle_Oracle11g_Oracle10g - Fatal编程技术网

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 ;