SELECT k.kanji, l.curve, GROUP_CONCAT( DISTINCT p.pron SEPARATOR ', ' ) AS pron, GROUP_CONCAT( DISTINCT e.meaning SEPARATOR ', ' ) AS mean, GROUP_CONCAT(DISTINCT CONCAT('<span class="example_kanji">', ex.word, '</span> [', ex.reading, '] : ', g.gloss) SEPARATOR '<br/>') AS example
FROM
(
SELECT k.id, k.kanji, k2w.word_id
FROM kanjis k
LEFT JOIN kanji2word k2w ON k2w.kanji_id = k.id
JOIN kanji2word k2w2 ON k2w2.kanji_id = k.id
AND k2w2.pri > k2w.pri
WHERE k.jlpt >= '2'
GROUP BY k.id, k2w.kanji_id, k2w.word_id
HAVING COUNT( k2w2.kanji_id ) <= 3
) AS k
LEFT JOIN jmdict ex ON ex.id = k.word_id
LEFT JOIN jmdict_gloss g ON g.jmdict_id = ex.id AND g.sense_pos = 0 AND g.gloss_pos = 0
LEFT JOIN learning l ON l.kanji_id = k.id AND l.user_id = '1'
LEFT JOIN pron p ON p.kanji_id = k.id AND p.type != 'nanori'
LEFT JOIN english e ON e.kanji_id = k.id
WHERE (
l.curve > '1050'
)
GROUP BY k.id
ORDER BY p.type DESC , l.curve DESC<style>