如何通过汇总查询计数从表顺序中选择未聚合的记录?

时间:2018-11-01 00:44:03

标签: sql oracle

我很难说出这个问题,所以这里有个例子。我有一个查询,可以查询给定列表的记录,这些记录按其父条形码和降序排列。

select count(*),parent_bc from table where column_name IN (...) group by 
parent_bc;

COUNT(*)  parent_bc
9         14018091
8         14018030
5         14018098
3         14018027

现在,对于同一张表,我想获取记录(未汇总),但按上面查询的计数排序。例如,“从tbl WHERE(...)ORDER BY ...中选择列??

在单个查询中甚至可以做到吗?

2 个答案:

答案 0 :(得分:1)

您可以使用long函数来完成此操作。

public static void main(String[] args){

            String s="abcac";
            int aCount=0;
            int n=1000;
            int j=0;


            char[] sCharArray=s.toCharArray();

            char[] finalString = new char[n];

            for(int i=0;i<n;i++){

                if(j==s.length())
                    j=0;

                finalString[i]=sCharArray[j];
                j++;


            }


            for(int i=0; i<n;i++){
                if(finalString[i]=='a')
                    aCount++;
            }


    System.out.println(aCount);

            }

答案 1 :(得分:0)

我想你只是想要

select count(*), parent_bc
from table
where column_name IN (...) 
order by count(*) over (partition by parent_bc) desc, parent_bc;

请注意,这会将parent_bc添加为第二个键。有关系时,这会将每个parent_bc的值保持在一起。