此查詢的目標是每個參考ID獲得唯一記錄(IP最新,IP)。Mysql - GROUP BY避免使用tempoary
SELECT COUNT(DISTINCT ip), GROUP_CONCAT(ref.id)
FROM `sess` sess
JOIN `ref` USING(row_id)
WHERE sess.time BETWEEN '2010-04-21 00:00:00' AND '2010-04-21 23:59:59'
GROUP BY ref.id
ORDER BY sess.time DESC
該查詢工作正常,但它使用臨時表。有任何想法嗎?
row_id是兩個表上的主要字段。 sess.time,sess.ip和ref.id都是索引。
您可以添加EXPLAIN嗎? – Unreason 2010-04-21 21:22:56