我有两个基本查询,我需要对它们进行总计:
Select hours, sum(hours) FROM table WHERE name='xxx' and Description='Worked' Select hours2, sum(hours2) FROM table WHERE name='xxx' and Description2='Worked'
我已经尝试了UNION,它将为我提供每个查询的总数,但不会将它们组合在一起。
表设置为:
我需要将小时与描述相关,将小时2与description2相关联,这就是为什么我有两个不同的查询的原因。我需要将小时数和小时数总计2。
首先,您错过了groupby,因此,即使mysql不抱怨它,您hours和hours2价值观也毫无意义。其次,您UNION可以将的结果放入派生子查询中,这样就可以得到所需的总数:
groupby
hours
hours2
UNION
SELECT SUM(hr) FROM ( Select sum(hours) as hr FROM table WHERE name='xxx' and Description='Worked' UNION ALL Select sum(hours2) as hr FROM table WHERE name='xxx' and Description2='Worked' )a