首页 > 解决方案 > 如何在 SQL 中检索具有特定数量的不同列值的行?

问题描述

我正在实施一个考试门户。我有老师和学生作为用户。

教师为参加考试的特定科目生成问题集。他有 4 个基于考试满分的选项(20 分、50 分、80 分和 100 分),在分数选择期间,持续时间也固定为 30 分钟、60 分钟、90 分钟和 120 分钟。

我有一个问题表。这具有问题、答案和级别(简单、中等、困难)的字段。简单问题 1 分,中级问题 2 分,困难级问题 3 分。

教师可以将任意数量的问题添加到集合中。问题将从数据库中随机获取。此外,每个学生应在一组 20 分中获得 6 道简单、4 道中等和 2 道困难级问题,即按照水平标准随机抽取 12 道题。同样,对于 50 分设置,15 EASY 级别,10 MEDIUM 级别和 3 HARD 级别的问题必须获取等等。

请避免您认为必须存在的所有其他条件,并帮助我形成一个 mysql 查询,或者只是帮助我提供一些关于我应该使用什么 sql 子句的线索。

标签: mysqlsql

解决方案


我会在第一次查询中另外使用两次联合选择,这样每个选择都会按问题级别获得一组。


推荐阅读