SQL查询语句疑问,下面的我的SQL数据库表tb_single

2024-12-04 03:28:16
推荐回答(4个)
回答1:

随便整了几条试验数据,你自己尝试一下,表名我起的test,你自己替换一下

create table test (id int,Chapter varchar(20))
insert into test values (1,'第一章')
insert into test values (2,'第一章')
insert into test values (3,'第一章')
insert into test values (4,'第一章')
insert into test values (5,'第二章')
insert into test values (6,'第二章')
insert into test values (7,'第三章')
insert into test values (8,'第三章')
insert into test values (9,'第三章')
insert into test values (10,'第四章')
insert into test values (11,'第四章')
insert into test values (12,'第四章')
insert into test values (13,'第四章')
insert into test values (14,'第四章')
insert into test values (15,'第四章')
 
select Chapter,
(select top 1 id from test t1 where t1.Chapter=t2.Chapter order by newid()) id
from test t2 group by Chapter order by id

回答2:

先group by chapter 找出所有的chapter
迭代所有chapter作为条件
查找语句类似:
select top 1 * from tb_single order by newid()
这样保证每个chapter都会有1题

回答3:

数据库一般不会单独做系统的
不管你搭配的是哪一种语言,都可以生成一个随机数
再把这个随机数传给SQL查询

回答4:

能。。。。。。。。。。