Mysql 在同一个SQL查询中使用AVG()和VAR()?
我这里有一张桌子,叫做供应:Mysql 在同一个SQL查询中使用AVG()和VAR()?,mysql,sql,Mysql,Sql,我这里有一张桌子,叫做供应: SUPNR (supplies) PRODNR (supplies) PURCHASE_PRICE (supplies) DELIV_PERIOD (supplies) 21 0119 15.99 1 21 0178 55.99
SUPNR (supplies) PRODNR (supplies) PURCHASE_PRICE (supplies) DELIV_PERIOD (supplies)
21 0119 15.99 1
21 0178 55.99 1
21 0289 17.99 1
21 0327 56.00 6
21 0347 16.00 2
21 0384 55.00 2
假设产品编号可以唯一定义一个产品,我不确定它的确切含义
因此,我可以通过以下SQL轻松找到每种产品的平均价格:
SELECT AVG(PURCHASE_PRICE)
FROM supplies
GROUP BY PRODNR
这返回的结果非常好(我只发布了两行空间问题):
但“每个产品的差异”这一方向意味着什么?在一个SQL查询中我将如何做到这一点
以下是我试着做的:
SELECT AVG(PURCHASE_PRICE), VAR(PRODNR) AS VARIANCE_PER_PRODUCT
FROM supplies
GROUP BY PRODNR
但我得到了一个错误:
错误:函数pgdb_uuuuuu1602696043_5f87336bef7ea.VAR不存在-错误代码1305
有什么想法吗?谢谢。
VAR
不是mysql函数
你应该使用
它将是variance()
而不是var()
SELECT AVG(PURCHASE_PRICE), VAR(PRODNR) AS VARIANCE_PER_PRODUCT
FROM supplies
GROUP BY PRODNR
SELECT AVG(PURCHASE_PRICE), VARIANCE(PURCHASE_PRICE) AS VARIANCE_PER_PRODUCT
FROM supplies
GROUP BY PRODNR
SELECT AVG(PURCHASE_PRICE), variance(PRODNR) AS VARIANCE_PER_PRODUCT
FROM supplies
GROUP BY PRODNR