考虑下表。它描述了 user1 与 user2 开始对话的次数(“A 与 B 开始对话,5 次”):
user1 user2 count
-------------------
A B 5
A C 2
B A 6
B C 1
C A 9
C B 4
但是,我想合并相似用户之间的行。因此 user1:A 和 user2:B 与 user1:B 和 user2:A 相同,导致以下结果:
user1 user2 count
-------------------
A B 11 (5 + 6)
A C 11 (2 + 9)
B C 5
我的第一个想法是将表 SELECT 到 PHP,循环遍历它,添加行并将结果插入到新表中。但这似乎非常多余(而且速度很慢,因为该表包含数千条记录)。这也可能与(My)SQL有关吗?
最佳答案
SELECT LEAST(user1, user2), GREATEST(user1, user2), SUM(count) AS count
FROM yourtable
GROUP BY LEAST(user1, user2), GREATEST(user1, user2)
关于mysql - 将两行合并为一,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10322624/