内联视图中的聚合函数
Aggregate function in inline view
我正在尝试为 Pervasive 数据库编写一些 SQL,但我的查询无法正常工作。
让我举一个简单的例子。假设我有以下 table:
购买:
OrderNumber CustomerName
55 Amy
56 Dan
57 Bob
58 Dan
59 Dan
60 Bob
61 Amy
62 Cindy
63 Dan
现在我可以使用查询 select count(OrderNumber) as "Number of orders palced", CustomerName from PURCHASES group by CustomerName order by count(OrderNumber) desc
来获取内联视图的结果:
Number of orders placed CustomerName
4 Dan
2 Amy
2 Bob
1 Cindy
但我不想就此打住,我想知道每个 "Number of orders placed" 有多少客户,但我无法正确查询。
我想将其用作子查询,如下所示:
select x."Number of orders placed",count(x.CustomerName) as
"Number of customers that have purchased this many orders" from
(
select count(OrderNumber) as "Number of orders placed", CustomerName from PURCHASES
group by CustomerName
) x
group by x."Number of orders placed"
我认为我的查询失败得很惨,因为列标签不是引用子查询的正确方法。
我想要得到的结果应该是这样的:
Number of orders placed Number of customers...
4 1
2 2
1 1
感谢帮助和解释
除了内联视图中的 order by
外,我没有发现您的查询有任何问题。
select x."Number of orders placed",count(x.CustomerName) as
"Number of customers that have purchased this many orders"
from
(select count(OrderNumber) as "Number of orders placed", CustomerName
from PURCHASES
group by CustomerName
) x
group by x."Number of orders placed"
我正在尝试为 Pervasive 数据库编写一些 SQL,但我的查询无法正常工作。
让我举一个简单的例子。假设我有以下 table:
购买:
OrderNumber CustomerName
55 Amy
56 Dan
57 Bob
58 Dan
59 Dan
60 Bob
61 Amy
62 Cindy
63 Dan
现在我可以使用查询 select count(OrderNumber) as "Number of orders palced", CustomerName from PURCHASES group by CustomerName order by count(OrderNumber) desc
来获取内联视图的结果:
Number of orders placed CustomerName
4 Dan
2 Amy
2 Bob
1 Cindy
但我不想就此打住,我想知道每个 "Number of orders placed" 有多少客户,但我无法正确查询。
我想将其用作子查询,如下所示:
select x."Number of orders placed",count(x.CustomerName) as
"Number of customers that have purchased this many orders" from
(
select count(OrderNumber) as "Number of orders placed", CustomerName from PURCHASES
group by CustomerName
) x
group by x."Number of orders placed"
我认为我的查询失败得很惨,因为列标签不是引用子查询的正确方法。 我想要得到的结果应该是这样的:
Number of orders placed Number of customers...
4 1
2 2
1 1
感谢帮助和解释
除了内联视图中的 order by
外,我没有发现您的查询有任何问题。
select x."Number of orders placed",count(x.CustomerName) as
"Number of customers that have purchased this many orders"
from
(select count(OrderNumber) as "Number of orders placed", CustomerName
from PURCHASES
group by CustomerName
) x
group by x."Number of orders placed"