mysql - 在mysql中将初始总和设置为零

标签 mysql math set operation

我有一个查询可以满足我的需要,但是因为图表的 joomla 插件不接受初始 SET 值为零,我需要一种方法将这个查询转换为 View ,或者至少执行不使用 SET 的算术函数。

基本上,此查询会为每个月显示一列员工总数,加上上个月的员工数并减去离开的员工数。

SELECT
  CONCAT(q1.d,'-',LPAD(q1.m,2,0)) AS Periodo,
q1.c AS `<font color="blue">Assunzioni</font>`,
q1.l AS `<font color="red">Licenziamenti</font>`
FROM
 (SELECT
   YEAR(calendar.datefield) AS d,
   month(calendar.datefield) AS m,
   SUM(statistica_assunti_n.assunzioni) AS c,
   SUM(statistica_licenziati_n.licenziamenti) AS l
FROM  calendar
INNER JOIN statistica_assunti_n
ON calendar.datefield = statistica_assunti_n.data_assunzioni
INNER JOIN statistica_licenziati_n
ON calendar.datefield = statistica_licenziati_n.data_licenziamenti
WHERE YEAR(datefield) ={$REQUEST:chartYearStart|empty:'2011'} 
AND datefield       <= DATE(NOW())
GROUP  BY d, m
ORDER  BY d, m) AS q1 

如有任何帮助,我们将不胜感激。

最佳答案

插件的管理员给了我解决方案,(SELECT @runtot := 0) AS zero:

SELECT
    CONCAT(q1.d,'-',LPAD(q1.m,2,0)) AS Periodo,
   (@runtot := @runtot + q1.c - q1.l) AS `N. dipendenti`
FROM
   (SELECT
       YEAR(calendar.datefield) AS d,
       month(calendar.datefield) AS m,
       SUM(statistica_assunti_n.assunzioni) AS c,
       SUM(statistica_licenziati_n.licenziamenti) AS l
    FROM  calendar
    INNER JOIN statistica_assunti_n
    ON calendar.datefield = statistica_assunti_n.data_assunzioni
  INNER JOIN statistica_licenziati_n
    ON calendar.datefield = statistica_licenziati_n.data_licenziamenti
WHERE YEAR(datefield) = {$REQUEST:chartYearStart|empty:'2011'} AND datefield <= DATE(NOW())
    GROUP  BY d, m
    ORDER  BY d, m) AS q1, (SELECT @runtot := 0) AS zero

关于mysql - 在mysql中将初始总和设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39413578/

相关文章:

javascript - svg 中是否有一个变换矩阵,使 x 变为 y,y 变为 x?

javascript - 接受任意 2 个输入并在 JS onChange 中的第三个输入中显示结果

c++ - 如果 X 是某个有序容器 S 的迭代器 S.begin(),则 prev(X) 是什么,例如S是集合?

java - 与在 Java 中表示集合的集合混淆?

Mysql 为每位艺术家选择最近的日期和日期

sql - MySQL 查询成本

python - 如何快速估计两个(纬度、经度)点之间的距离?

c++ - (通常)最快的方法来删除设置的交叉点

php - 从选择查询设置变量

MySQL 插入选择 - NOT NULL 字段