如何在SQL中加入'union all'的结果

use*_*897 1 mysql sql group-by union-all

我使用union all合并了两个表.但是,生成的数据有重复.有没有办法加入重复?

例如,所得到的表后的工会所有,t看起来就像这样":

__DAY__.....................__COUNT__
monday....................1
tuesday...................2
tuesday...................3
wednesday..............4
wednesday..............1
wednesday..............5
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

__DAY__.................__COUNT__
monday....................1
tuesday....................5
wednesday..............10
Run Code Online (Sandbox Code Playgroud)

此外,我试过"按t.day,t.count分组",但它不起作用.而"...."仅用于格式化目的,以便进行某种缩进.

查询如下.

SELECT   t1.hour, t1.day, t1.count
FROM
(
  (SELECT hour(time(FROM_UNIXTIME( timecode)))  AS hour,
   date(FROM_UNIXTIME( timecode))  AS day,
  (FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
   FROM sampleData
  WHERE hour(time(FROM_UNIXTIME( timecode)))>=14
   GROUP BY DAY)
 union all
  (SELECT hour(time(FROM_UNIXTIME( timecode))) as hour,
   date(FROM_UNIXTIME( timecode-86400) ) AS day,
   (FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
  FROM sampleData
  WHERE hour(time(FROM_UNIXTIME( timecode)))< 14
   GROUP BY DAY)
)  t1
GROUP BY  t1.day, t1.count
HAVING COUNT(*)>0
ORDER BY t1.day
Run Code Online (Sandbox Code Playgroud)

him*_*056 5

试试这个简单的查询:

SELECT day,sum(count) FROM Table1
Group by day
Run Code Online (Sandbox Code Playgroud)

看到这个SQLFiddle

编辑:为您的查询尝试这个:

SELECT   t1.hour, t1.day, sum(t1.count)
FROM 
(
  (SELECT hour(time(FROM_UNIXTIME( timecode)))  AS hour,  
   date(FROM_UNIXTIME( timecode))  AS day, 
  (FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'  
   FROM sampleData  
  WHERE hour(time(FROM_UNIXTIME( timecode)))>=14  
   GROUP BY DAY)   
 union all   
  (SELECT hour(time(FROM_UNIXTIME( timecode))) as hour,  
   date(FROM_UNIXTIME( timecode-86400) ) AS day,  
   (FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'  
  FROM sampleData   
  WHERE hour(time(FROM_UNIXTIME( timecode)))< 14  
   GROUP BY DAY)  
)  t1  
GROUP BY  t1.day
HAVING COUNT(*)>0  
ORDER BY t1.day  
Run Code Online (Sandbox Code Playgroud)