考慮一個表具有列Id,Name,Surname和一個表的用戶具有列Ip和Actor的Actions。我需要爲每個Ip檢索使用該Ip執行操作的用戶組。 我現在的樣子:mysql - 用子查詢重寫查詢
SELECT a.ip, (
SELECT GROUP_CONCAT(t.id, '-', t.name, ' ', t.surname) FROM(
SELECT ud.id, ud.name, ud.surname
FROM users_data AS ud
JOIN actions AS a2 ON a2.actor = ud.id
WHERE a2.ip = a.ip
GROUP BY ud.id) AS t
)
FROM actions AS a
WHERE a.ip != '' AND a.ip != '0.0.0.0'
GROUP BY a.ip
它不起作用,因爲a.ip在內部子查詢的WHERE子句中是未知的。
對於性能問題,我需要避免使用DISTINCT。
有什麼建議嗎?
埃爾默,不應該是'wetwieve'嗎? – Strawberry