Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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中使用SUM?_Mysql_Group By_Sum - Fatal编程技术网

如何在mySQL中使用SUM?

如何在mySQL中使用SUM?,mysql,group-by,sum,Mysql,Group By,Sum,我需要为我的查询对一个组求和。比如: SELECT customer_id, SUM(weekly) FROM earnings GROUP BY customer_id 上述方法可行,但我需要更复杂的东西,我的查询如下: SELECT (SELECT SUM(weekly) FROM earnings) + (SELECT SUM(day_earnings) FROM earnings) / .75 上面是所有收入的总和,每周和每天,但在第一个示例中,我需要按custom

我需要为我的查询对一个组求和。比如:

SELECT customer_id, SUM(weekly) FROM earnings GROUP BY customer_id
上述方法可行,但我需要更复杂的东西,我的查询如下:

SELECT
    (SELECT SUM(weekly) FROM earnings) + 
    (SELECT SUM(day_earnings) FROM earnings) / .75

上面是所有收入的总和,每周和每天,但在第一个示例中,我需要按
customer\u id like
对它们进行分组。如何实现这一点?

根据您在上述尝试中的操作顺序,只有
和(日收入)
除以
.75
。如果应该是周收入和日收入之和,则在其周围加上括号作为
(总和(周)+总和(日收入))/0.75作为收入

SELECT 
  customer_id,
  customer_name,
  SUM(weekly) + SUM(day_earnings) / 0.75 AS earnings
FROM earnings JOIN customers ON earnings.customer_id = customers.customer_id
GROUP BY customer_id, customer_name
这行吗

SELECT customer_id, SUM(weekly + (day_earnings / .75)) 
FROM earnings 
GROUP BY customer_id
你就不能这样做:

SELECT customer_id, (SUM(weekly) + SUM(day_earnings) / .75) AS earnSum FROM earnings GROUP BY customer_id

谢谢如何将该customer\u id与表customers连接起来以获取名称?非常感谢。见上面的变化
customer\u name
添加到选择列表和分组列表中,并加入了FROMexcellent!谢谢但是请注意,customer_id需要该表,因为它同时存在于这两个表中。谢谢你的帮助!为什么在
sum()
中不使用表名?我想如果我使用的是
join
sum()
,那么我应该使用这样的东西:
sum(table.column)
,这是不正确的?@Sajad只有当FROM中的多个表具有相同名称的列时才需要表名。否则,可以单独使用列名,就像在普通的
SELECT
中一样。
SELECT customer_id, (SUM(weekly) + SUM(day_earnings) / .75) AS earnSum FROM earnings GROUP BY customer_id