【发布时间】:2020-02-24 20:08:15
【问题描述】:
我需要在这样的查询中使用 MULTIPLY() 而不是 SUM() 操作所有值(简化):
SELECT aav.id, COUNT(al.id_product) AS num_products, MULTIPLY(al.prop) AS mul_prop
FROM a_table a
JOIN v_table aav ON a.id = aav.id_article AND a.fecha > '2020-01-13 11:28:54'
JOIN l_table al ON al.id_article = aav.id_article
JOIN l_table al2 ON al.id_article= al2.id_article AND al2.id_product = 113288
WHERE aav.id_attrib IN (SELECT a.id FROM attrib a WHERE a.key= 'my_key')
GROUP BY id_article HAVING num_products > 2
我正在寻找一种轻量级的解决方案,无需创建视图或临时表,我只是在 OpenOffice 中寻找 MULTIPLY() 之类的函数。
我的目标是当存在一些 prop=0 的产品、一些负的 prop 产品或所有正的 prop 产品时,有负、正和零单元格,这是为了视觉目的。任何想法?我看到 MySQL 没有 MULTIPLY() 函数:/
【问题讨论】:
-
假设您有两条价格不同的记录,例如1000 美元和 2000 美元。
SUM(al.price)将返回 $1000 + $2000 = $3000。MULTIPLY(al.price)应该返回什么? 1000 美元 * 2000 美元 = 2,000,000 美元?太傻了。 -
这能回答你的问题吗? SQL Server Query - groupwise multiplication
-
这能回答你的问题吗? Multiplication aggregate operator in SQL
-
假设...我已经简化了查询,我不想乘以价格,我想乘以 -1 和 +5 之间的值的属性,并且我需要检查是否存在负数(不为零)、任何零或所有正数属性,我将编辑代码...