0
我有这个查询,我用它来从多个表中使用JOIN获取记录。使用JOIN获取大量记录
SELECT c.id AS contestant_id,
c.created_date,
c.name AS contestant_name,
counter.total AS score,
c.email
FROM submission AS s,
(SELECT ans.id AS ans_id, sub.contestant_id, count(sub.id) AS total
FROM submission AS sub
JOIN (SELECT id, is_true FROM answer) AS ans
WHERE sub.answer_id = ans.id
AND ans.is_true = 1
GROUP BY sub.contestant_id) AS counter
JOIN (SELECT id, name, email, type, created_date
FROM contestant
WHERE contest_type = 1
AND submission_status = 1) AS c
WHERE counter.contestant_id = c.id
GROUP BY c.id
ORDER BY c.created_date DESC
的问题是,在表选手每条记录将在提交表30的记录。所以,当我检索1000名参赛者或更多时,服务器挂起。
你做完你的索引列 – Afsar
什么你需要'提交AS s'呢? –
你不能让你的GROUP BY与聚合函数一起吗?!?这很混乱。 – jarlh