选择SumMySQL

选择SumMySQL,mysql,sum,Mysql,Sum,我需要为员工所属部门的每天选择一个数据汇总,我希望能够选择一个日期范围并对每天进行汇总。这是可能的,目前我只是在一个字段中获得整个日期范围的汇总 这是我目前的问题 select date, SUM(no_of_live_products) from fulfilment INNER JOIN employee ON employee.employee_id = fulfilment.employee_id where employee.de

我需要为员工所属部门的每天选择一个数据汇总,我希望能够选择一个日期范围并对每天进行汇总。这是可能的,目前我只是在一个字段中获得整个日期范围的汇总

这是我目前的问题

select 
  date, 
  SUM(no_of_live_products) 
from 
    fulfilment 
INNER JOIN 
  employee 
  ON  employee.employee_id = fulfilment.employee_id 
where 
      employee.department = 'Telecoms    Services' 
  and date >= '2013-09-16' 
  and date <= '2013-09-29'
选择
日期
总和(活产品数量)
从…起
履行
内连接
受雇者
ON employee.employee\u id=performation.employee\u id
哪里
employee.department=‘电信服务’
日期>='2013-09-16'

和date如果您想要获得天数,并且您有多个时间范围

首先,获取单个时间范围内的日期数,然后将其相加(需要一个子选择)

以此为例,它不是针对您的情况的完整查询:

SELECT SUM(x.days)
FROM (
    SELECT TIMESTAMPDIFF(DAY, startDate, endDate) AS days
    FROM fulfilment 
) x
GROUP BY employee.employee_id

如果您想要获得天数,并且有多个时间范围

首先,获取单个时间范围内的日期数,然后将其相加(需要一个子选择)

以此为例,它不是针对您的情况的完整查询:

SELECT SUM(x.days)
FROM (
    SELECT TIMESTAMPDIFF(DAY, startDate, endDate) AS days
    FROM fulfilment 
) x
GROUP BY employee.employee_id
你可以

GROUP BY `date` 
要查看每天的金额,您可以

GROUP BY `date` 
要查看每天的金额,为什么不试试

SELECT 
  date, 
  SUM(no_of_live_products) 
FROM 
    fulfilment 
INNER JOIN 
  employee ON  employee.employee_id = fulfilment.employee_id 
WHERE 
      employee.department = 'Telecoms    Services' 
  AND date >= '2013-09-16' 
  AND date <= '2013-09-29'
GROUP BY date(date)
选择
日期
总和(活产品数量)
从…起
履行
内连接
employee.employee\u id=performation.employee\u id上的员工
哪里
employee.department=‘电信服务’
日期>='2013-09-16'
为什么不试试呢

SELECT 
  date, 
  SUM(no_of_live_products) 
FROM 
    fulfilment 
INNER JOIN 
  employee ON  employee.employee_id = fulfilment.employee_id 
WHERE 
      employee.department = 'Telecoms    Services' 
  AND date >= '2013-09-16' 
  AND date <= '2013-09-29'
GROUP BY date(date)
选择
日期
总和(活产品数量)
从…起
履行
内连接
employee.employee\u id=performation.employee\u id上的员工
哪里
employee.department=‘电信服务’
日期>='2013-09-16'

日期似乎应该添加分组依据。通常,您不能返回不存在的数据。在MySQL中有一些破解方法可以解决这个问题,但通常最好在“应用程序级”处理应用程序级逻辑treat@Strawberry我曾试图在mysql中找到逻辑,以便能够在应用程序级别上实现它,现在我已经修复了它。无论如何,看起来你应该添加一个组通常,您不能返回不存在的数据。在MySQL中有一些破解方法可以解决这个问题,但通常最好在“应用程序级”处理应用程序级逻辑treat@Strawberry我曾试图在mysql中找到逻辑,以便能够在应用程序级别上实现这一点,现在我已经修复了它。无论如何,这是一个很好的查询,可以在感谢你,但不是我所追求的,可能在未来派上用场,虽然这是一个很好的查询,以获得不同的日子,谢谢你,但不是我所追求的,可能在未来派上用场,虽然你是救生员!我会让你的答案简短地成为公认的答案,你是救生员!我会让你的答案成为公认的简短答案。我已经用同样的方法解决了这个问题,但我会进一步提到。非常感谢我用同样的方法解决了这个问题,但我进一步提到了。非常感谢