2017-02-13 58 views
1

我有表STREAMS:MySQL的统计重复行的值和不显示重复的行名

+----+----------+-------------------------------------------------------------+-------------+-------------+ 
| id | name  | stream              | server  | bouquet  | 
+----+----------+-------------------------------------------------------------+-------------+-------------+ 
| 1 | HOME  | ["http://ur11.com/", "http://ur12.com/"]     | ["1", "3"] | ["3","2"] | 
| 2 | HOME  | ["http://ur15.com/", "http://ur16.com/"]     | ["12", "13"] | ["31","12"] | 
+----+----------+-------------------------------------------------------------+-------------+-------------+ 

我有表看:

+----+--------+------------+---------+ 
| id | stream | month  | watched | 
+----+--------+------------+---------+ 
| 16 |  2 | 2017-02-01 |  1 | 
| 2 |  1 | 2017-01-01 |  3 | 
| 15 |  2 | 2017-01-01 |  4 | 
+----+--------+------------+---------+ 

,需要从查询中得到这样的:

+--------+------------+---------+ 
| stream | month  | watched | 
+--------+------------+---------+ 
|  2 | 2017-02-01 |  5 | 
|  1 | 2017-01-01 |  3 | 
+--------+------------+---------+ 

我尝试使用:

SELECT DISTINCT stream, month, watched FROM watched; 

这个显示全部没有重复,但如何统计相同的流和显示在监视?在例子中,你看到我们有2 - 1观看流和2 - 4观看流...我需要加在一起(1 + 4),并在表流2中显示 - 看着5 ..但我只得到第一流清晰..我尝试计数,但它显示我重复....我需要组?

回答

2

这产生你想要的输出。这是你正在尝试做什么?

select stream, max(month) as month, sum(watched) as watched 
from watched 
group by stream; 
+0

是......那就是......你是天才......感谢......我会在6分钟内接受答案......而我即时尝试在小时内得到这个只用组和计数..我发现我做错了..谢谢 – John