我希望连接相同表格的部分字段
id user_id user_ip
4 971 108.54.218.114
5 972 108.54.218.114
6 973 108.54.218.114
7 974 108.54.218.114
8 975 107.222.159.246
9 975 98.54.818.133
在上面的示例中,我们可以看到具有IP地址(108.54.218.114)地址的用户使用以下帐户ID(971,972,973,974)创建多个帐户,但也可以看到具有帐户ID(975)从以下IP地址连接(107.222.159.246,98.54.818.133)
我想像这样格式化结果
user_id user_ip
971,972,973,974 108.54.218.114
975 107.222.159.246, 98.54.818.133
的MySQL
SELECT
GROUP_CONCAT(DISTINCT users_log.user_id) AS ID_LOG,
GROUP_CONCAT(DISTINCT users_log.user_ip) AS IP_LOG
FROM users_log
GROUP BY users_log.user_id
ORDER BY users_log.user_id DESC
如果有人可以帮助我?
提前感谢您的帮助
答案 0 :(得分:0)
最近有另一个问题(我找不到)就此问题非常接近。我询问了交叉行,因为这类解决方案的(缺乏更好的术语) recursiveness 。
这是SQL为您提供确切答案的精确样本集。
SELECT user_id, GROUP_CONCAT(DISTINCT user_ip) AS user_ip
FROM users_log
GROUP BY user_id
HAVING COUNT(*) >1
UNION
SELECT GROUP_CONCAT(DISTINCT user_id) AS user_id, user_ip
FROM users_log
GROUP BY user_ip
HAVING COUNT(*) >1;