LeetCode--578. 查询回答率最高的问题

    科技2024-04-15  70

    建表

    CREATE TABLE survey_log ( id INT, `action` VARCHAR(10), question_id INT, answer_id INT, q_num INT, TIMESTAMP INT ); INSERT INTO survey_log VALUES(5, 'show', 285, NULL, 1, 123); INSERT INTO survey_log VALUES(5, 'answer', 285, 124124, 1, 124); INSERT INTO survey_log VALUES(5, 'show', 369, NULL, 2, 125); INSERT INTO survey_log VALUES(5, 'skip', 369, NULL, 2, 126);

    解题思路

    对于每道题来说,不管被回答多少次,题目数量就是1,也就是分母是1, 那么将题目转化为求每道题被回答的次数,也就是answer_id不为NULL的次数

    SELECT question_id survey_log FROM survey_log WHERE answer_id IS NOT NULL GROUP BY question_id ORDER BY COUNT(answer_id) DESC LIMIT 1
    Processed: 0.010, SQL: 8