一个select 查询语句,头晕了

relive8 2004-05-02 02:43:12
表结构
CREATE TABLE [papers] (
[id] [int] NOT NULL ,
[course] [int] NOT NULL ,
[chapter] [int] NOT NULL ,
[ken] [int] NOT NULL ,
[kind] [int] NOT NULL ,
[content] [varchar] (600) COLLATE Chinese_PRC_BIN NOT NULL ,
[answer] [varchar] (800) COLLATE Chinese_PRC_BIN NOT NULL ,
[difficulty_que] [float] NOT NULL ,
[point] [float] NOT NULL ,
[date] [smalldatetime] NOT NULL
) ON [PRIMARY]
GO
我要在此表中对每一类(kind)随机抽取自己规矩的记录数,并且满足对每一类所设定的条件,抽取的记录总和point为100!
比如:kind(类别)有:1类 ,2类,3类……
我要随机抽取1类里的3条记录满足一定条件,抽取2类2条记录,抽取3类4条记录都要满足一定条件,抽出的这些记录的总分是100
...全文
31 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zjcxc 2004-05-02
你规定了每类的记录数,这个100怎么算?
  • 打赏
  • 举报
回复
relive8 2004-05-02
谢谢邹键大虾了~~~~~~~~~~~~~~~

随机已经实现了,不知道得到的总和为100能不能包括实现呢
  • 打赏
  • 举报
回复
zjcxc 2004-05-02
--这样写:

select * from(select top 3 *,aa=newid() from papers where kind='1类' and ...其他条件 order by newid())a
union all
select * from(select top 2 *,aa=newid() from papers where kind='2类' and ...其他条件 order by newid())a
union all
select * from(select top 4 *,aa=newid() from papers where kind='3类' and ...其他条件 order by newid())a
  • 打赏
  • 举报
回复
relive8 2004-05-02
最好能抽出的所有记录point总和为100
  • 打赏
  • 举报
回复
relive8 2004-05-02
可是我要随即抽取呀,
比如‘1类’中随机抽取 3条
‘2类’中随机抽取 3 条
‘3类’中随机抽取 4条
然后组成一个数据集合
  • 打赏
  • 举报
回复
zjcxc 2004-05-02
因为你要对每个类做控制,所以没有什么简便的方法,而且你的参数不知道怎么传递?
  • 打赏
  • 举报
回复
zjcxc 2004-05-02

select top 3 from papers where kind='1类' and ...其他条件
union all
select top 2 from papers where kind='2类' and ...其他条件
union all
select top 4 from papers where kind='3类' and ...其他条件

  • 打赏
  • 举报
回复
relive8 2004-05-02
各位SQL大吓快来帮帮忙呀~~~~~~~~~~~~~~今天五二,先自己顶一下!
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
加入

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2004-05-02 02:43
社区公告
暂无公告