You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询求助:关联表并基于平均分生成测试难度列

解决SQL条件生成Test Difficulty列的问题

直接在你现有查询的基础上,通过CASE条件语句生成Test Difficulty列即可,无需创建新表。修改后的完整查询如下:

SELECT
  practice.task_id AS "Test ID",
  practice.name AS "Test Name",
  CASE
    WHEN practice.average < 20 THEN 'hard'
    WHEN practice.average BETWEEN 20 AND 60 THEN 'medium'
    ELSE 'easy'
  END AS "Test Difficulty"
FROM (
  SELECT
    reports.task_id,
    tasks.name,
    AVG(reports.score) AS average
  FROM reports
  JOIN tasks ON tasks.id = reports.task_id
  GROUP BY reports.task_id, tasks.name
) practice;

关键说明

  • CASE是SQL原生的条件判断语法,能直接在查询中根据计算出的平均分动态生成难度值。
  • 你可以根据题目具体要求调整CASE里的阈值和对应难度文本,比如如果要求平均分≤20时为"hard",只需把第一个条件改成WHEN practice.average <= 20 THEN 'hard'。
  • 通过列别名AS将结果列名调整为题目要求的Test ID、Test Name、Test Difficulty。

验证数据结果

根据你提供的测试数据,运行上述查询会得到如下结果:

Test IDTest NameTest Difficulty
101MinDisteasy
123Equimedium
142Medianmedium
300Tricoloringmedium

内容的提问来源于stack exchange,提问作者abc102493

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:27:47