Mysql与sum明显不同

Mar*_*llo 0 mysql sum distinct

我在使用messages上的distinct时对SUM字节列有问题.根据示例表,我需要得到以下结果:

user1 10(我需要使用substring_index从用户中删除域)
user2 10

但在我的所有测试中,user1 @ test.net的字节数正在相加

user1 20
user2 10

username          messageid                                              bytes  
user1@test.net  FD5414C0828B0C498DD655CDA90FFCA83D2D088D67@test.net    10   
user1@test.net  FD5414C0828B0C498DD655CDA90FFCA83D2D088D67@test.net    10   
user2@test.net  XX5414C0828B0C498DD655CDA90FFCA83D2D088D77@test2.net   5    
user2@test.net  YY5414C0828B0C498DD655CDA90FFCA83D2D088D77@test2.net   5
Run Code Online (Sandbox Code Playgroud)

任何的想法?

在此先感谢您的时间和帮助.
干杯,
马塞洛

Gal*_*alz 6

您的数据有重复记录,您需要删除它们.您可以使用下面的查询 - 它有一个内部选择,可以删除重复项,然后根据用户总结所有字节.

我没有进入子字符串问题,因为我认为你已经处理过了(如果你想让我添加它,请评论...)

SELECT 
  t.username, SUM(t.bytes)
FROM
( SELECT username, messageid, bytes 
  FROM my_table
  GROUP BY username, messageid) as t
GROUP BY t.username
Run Code Online (Sandbox Code Playgroud)