```WITH t AS (
SELECT
b.char_len,
CASE
WHEN a.author_level IN ( 1, 2 ) THEN
"1-2级"
WHEN a.author_level IN ( 3, 4 ) THEN
"3-4级" ELSE "5-6级"
END AS level_cut
FROM
author_tb a
LEFT JOIN answer_tb b ON a.author_id = b.author_id
WHERE
char_len >= 100
) SELECT
level_cut,
count( char_len ) num
FROM
t
GROUP BY
level_cut
ORDER BY
num DESC
解题思路:
根据连接键连接两表为一表,添加一个标记字段重新划分级别。 过滤掉回答低于100字符的记录,剩下的回答记录都是高质量回答。接着按照标记字段分组,统计高质量回答数即可。