我有2张桌子N和ACCRUED PAYROLL D
表I占用工资单工资单201314-201320 和表我需要累计的EMPLOYEEIDNO; cod_tiponomina; cod_nomina和应计员工工资在14天内获得;
很好的帮助是我需要用sum()得到最大的工资计算;
感谢您的帮助。
SELECT MAX((SUM(d.devengado) / (COUNT(d.devengado)*14))*30) salario_30dias
FROM devengados d
JOIN nominas n
ON n.cod_nomina = d.cod_nomina
WHERE d.cod_empleado = 564
AND d.cod_tiponomina = 1
AND d.cod_nomina BETWEEN 201314 AND 201320
AND d.devengado > 0
GROUP
BY YEAR(n.fecha_cierre)
, MONTH(n.fecha_cierre);
答案 0 :(得分:1)
'最大'和' Sum'总是根据Group By
条款执行。
您可以嵌套2个选择以获得不同总和的最大值:
SELECT MAX(sum) FROM
(SELECT SUM(column) AS sum FROM table GROUP BY crit1)
GROUP BY sum
但更好的方法是对总和进行排序,然后选择第一个实现与周围MIN/MAX
相同的方法(不需要嵌套选择):
SELECT SUM(column) AS sum FROM table GROUP BY crit1 ORDER BY sum DESC LIMIT 0,1
(对于MIN
,您需要对ASC进行排序)