Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Mysql 根据窗口函数的结果应用分组依据_Mysql - Fatal编程技术网

Mysql 根据窗口函数的结果应用分组依据

Mysql 根据窗口函数的结果应用分组依据,mysql,Mysql,我使用窗口函数来计算每个产品的利润百分比 SELECT productCode, productProfit, paymentDate, productName, productProfit/sum(productProfit) OVER (PARTITION BY productCode) AS percent FROM profit; 输出 下一步,我要计算平均值(百分比)。我怎样才能把它写进第一句话 结果将如下所示 你计算百分比的方法有点奇怪。似乎您正在确定

我使用窗口函数来计算每个产品的利润百分比

SELECT 
    productCode, productProfit, paymentDate, productName,
    productProfit/sum(productProfit)  OVER (PARTITION BY productCode) AS percent
FROM
    profit;
输出

下一步,我要计算平均值(百分比)。我怎样才能把它写进第一句话

结果将如下所示
你计算百分比的方法有点奇怪。似乎您正在确定特定交易对总体利润的贡献

无论如何,您只需将现有查询的结果集用作,并使用函数执行
groupby
,即可计算:


预期产出是多少?在格式化文本中添加它。
SELECT 
  YEAR(dt.paymentDate) AS payment_date_year, 
  AVG(dt.percent) AS average_profit_percent 
FROM 
(
  SELECT 
    productCode, 
    productProfit, 
    paymentDate, 
    productName,
    productProfit/sum(productProfit)  OVER (PARTITION BY productCode) AS percent
  FROM
    profit
) AS dt
GROUP BY 
  payment_date_year