avatar
请问SQL高手# Database - 数据库
n*e
1
从数据库中select一批东西--M个, 这些东西分为N类, 从数据库开头读到尾,
合格的标志如下: 到该记录为止, 该类已经选中的总数不超过K, 否则不再
继续从该类中选取. 下面是个例子:
ID kind value
========================
1 A 1
2 B 3
3 A 4
4 A 6
5 C 7
6 B 1
7 C 2
8 B 9
9 D 4
========================
如果K=2,M>=7,则选出记录1,2,3,5,6,7,9...
到此为止, A,B,C类已经选满, 这样下去直到M个记录选出
或者数据库遍历完成. 请问这个过程怎么用sql一举实现?
avatar
i*s
2
Seems impossible to do it in simple SQL statement.
write a stored procedure. In the procedure, open
a cursor, and process the records one by one
(SQL Server)

【在 n******e 的大作中提到】
: 从数据库中select一批东西--M个, 这些东西分为N类, 从数据库开头读到尾,
: 合格的标志如下: 到该记录为止, 该类已经选中的总数不超过K, 否则不再
: 继续从该类中选取. 下面是个例子:
: ID kind value
: ========================
: 1 A 1
: 2 B 3
: 3 A 4
: 4 A 6
: 5 C 7

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。