SELECT any_value(q.question_id) questionId,
any_value(( CASE `subject` WHEN 0 THEN '语文' WHEN 1 THEN '数学' WHEN 2 THEN '外语' ELSE '其他' END ))subject,
any_value(g.grade_name) gradeName,
any_value((CASE WHEN q.grade_id<=6 THEN '小学' WHEN q.grade_id>6 AND q.grade_id<=10 THEN '初中'
WHEN q.grade_id>10 AND q.grade_id<=13 THEN '高中' WHEN q.grade_id>13 AND q.grade_id<=17 THEN "大学"
WHEN q.grade_id>17 THEN "成人考试" ELSE '其他' END)) peroidName,
any_value(CASE term WHEN 0 THEN "上学期" WHEN 1 THEN "下学期" ELSE "全部" END) termName,
GROUP_CONCAT(l.label_name) labelNames,
any_value(q.crt_time) createTime,
any_value(UNIX_TIMESTAMP(q.crt_time)) code,
any_value(fm.member_nick_name) userName
FROM lj_eb_question q
LEFT JOIN lj_eb_grade g ON q.grade_id=g.grade_id
LEFT JOIN lj_eb_label l ON FIND_IN_SET(q.label_ids,l.label_id)
LEFT JOIN lj_dh_family_member fm ON fm.user_id=q.user_id
WHERE q.user_id=18
GROUP BY q.question_id
感觉还是比较有意思的 有空分析下
SELECT
IF
( LENGTH( trim( sex ))< 1, "未知", sex ) sex,
count( 1 ) num
FROM
client_account
GROUP BY
sex
这篇博客探讨了如何使用MySQL进行复杂的数据聚合,包括利用ANY_VALUE、CASE语句进行条件转换,GROUP_CONCAT整合标签,以及LEFT JOIN和FIND_IN_SET函数处理多对多关系。通过示例查询,展示了分析用户问题、学期、年级和性别的方法,揭示了数据查询的有趣之处。
4392

被折叠的 条评论
为什么被折叠?



