Mysql distinct 与 sum

标签 mysql sum distinct

我在对 messageid 使用不同的字节列求和时遇到问题。根据示例表,我需要得到以下结果:

user1 10(我需要使用substring_index来移除用户的域)
用户 2 10

但是在我所有的测试中,user1@test.net 的字节数都在求和

用户 1 20
用户 2 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

有什么想法吗?

提前感谢您的时间和帮助。
干杯,
马塞洛

最佳答案

您的数据包含重复记录,您需要将其删除。您可以使用下面的查询 - 它有一个内部选择,可以去除重复项,然后根据用户汇总所有字节。

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

SELECT 
  t.username, SUM(t.bytes)
FROM
( SELECT username, messageid, bytes 
  FROM my_table
  GROUP BY username, messageid) as t
GROUP BY t.username

关于Mysql distinct 与 sum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5202110/

相关文章:

MySQL - 按类似分类进行分组

MySQL增加值并选择结果

mysql - 如何在 MySQL 中统计 SUM 的结果

matlab - 在Matlab中计算[a1 a2 a3 ... an]的所有两个元素和

mysql - 如何对 SQL 中 CASE-WHEN 中具有相同参数的不同行的值求和

node.js - 不同 Node js MongoDB 不区分大小写

php - 从其他表插入 ID 时出现问题

php - MySQL 将不同值的计数选择到单独的列中

c# - 不同的列表<列表<int>>?

mysql - MySQL 查询中的未知列 ID