mysql - 如何在 SQL 中检索具有特定数量的不同列值的行?

标签 mysql sql

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

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

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

教师可以向问题集中添加任意数量的问题。问题将从数据库中随机获取。此外,每个学生还应获得 6 个简单、4 个中等和 2 个困难级别的问题,每组 20 分,即按照级别标准随机抽取总共 12 个问题。同样,对于 50 个分数集,必须获取 15 个简单级别问题、10 个中等级别问题和 3 个困难级别问题,依此类推。

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

最佳答案

我会使用union select除了第一个查询之外两次,因此每个选择都会按问题级别获取一组。

关于mysql - 如何在 SQL 中检索具有特定数量的不同列值的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52037443/

相关文章:

MySQL 大表性能不佳

mysql - 如何从数据类型为时间戳的表中提取记录,但我只知道键的日期部分

mysql - 插入数据并用排名填充列

mysql - Mysql中出现 "Insert into Non-key Column on Duplicate Update"怎么办?

sql - MariaDB 创建 View 将 SELECT 更改为不同的(不正确的)查询

sql - 在 Oracle 中哪里可以找到表的段?

Mysql比较三个日期时间字段

mysql - 获取错误 #1111 - 组函数的使用无效

mysql - 有没有开源的MySQL性能监控软件?

sql - 使用 UNION 创建 MySQL View