我有所有国家/地区的平均值行,我尝试计算所有平均值的平均值并添加特定输入的行。
我能够通过汇总和平均行动来计算所有国家的平均值,但是我不知道如何添加特定的输入行。
输入:
输出:
| Country | Average |
| All | 1.72096666666 |
| GB | 1.64992311635 |
答案 0 :(得分:0)
也许是这样? (让我知道我是否想念您的意思):
(YOUR_AGGEGATE_QUERY_GOES_HERE)
UNION
(SELECT CountryRegionCode as Country, AverageOrdersPerCostumer as Average FROM table_name
WHERE CountryRegionCode = "GB")
如果您想改用行ID,但可以理解,可以调整WHERE语句。
答案 1 :(得分:0)
如果您使用的是oracle数据库,则可以尝试使用完全适合您的需求的汇总聚合功能...
下面是供您参考的链接...
https://docs.oracle.com/cd/B28359_01/server.111/b28313/aggreg.htm#i1007413
https://oracle-base.com/articles/misc/rollup-cube-grouping-functions-and-grouping-sets
答案 2 :(得分:0)
这肯定会起作用:
select 'ALL',avg(averageorderpercustomer) from tablename group by
countryregioncode union
select countryregioncode,averageorderpercustomer from tablename where
countryregioncode=5;
答案 3 :(得分:0)
您似乎想要:
SELECT 'All' as Country, AVG(AverageOrdersPerCostumer) as Average
FROM t
UNION ALL
SELECT CountryRegionCode as Country, AverageOrdersPerCostumer as Average
FROM table_name
WHERE CountryRegionCode = 'GB';
最佳做法是,您应使用UNION ALL
而不是UNION
。
我还注意到,您所取得的平均值是平均值。这些国家/地区的大小不同,因此这可能与不考虑国家/地区的平均值不同。