台灣最大程式設計社群網站
線上人數
1231
 
會員總數:240383
討論主題:186370
歡迎您免費加入會員
討論區列表 >> MS SQL >> 資料分配法
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
資料分配法
價值 : 50 QP  點閱數:380 回應數:7

樓主

Chen Rickey
門外漢
0 4
116 11
發送站內信

目前 有一段SQL 取出我要的資料後,依地址排序

假設取出資料數量3000筆

我想要將 3000筆資料 平均分給 A/B/C/D/E 五位使用者

試問如何拆分 並將拆分的A B C D E值 加入到 USER欄位中






搜尋相關Tags的文章: [ MSSQL ] ,
本篇文章發表於2017-03-28 10:18
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
select 資料編號=identity(int,1,1),crf31a04_bcodeadd 運輸客戶地址
into #xx
from crf31a order by 運輸客戶地址

alter table #xx add [user] nvarchar(50) null

update #xx set [user]='A' where 資料編號<=600
update #xx set [user]='B' where 資料編號 between 601 and 1200
update #xx set [user]='C' where 資料編號 between 1201 and 1800
update #xx set [user]='D' where 資料編號 between 1801 and 2400
update #xx set [user]='E' where 資料編號 between 2401 and 3000
select * from #xx
本篇文章回覆於2017-03-28 15:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Chen Rickey
檢舉此回應
回樓上大大

資料數量是我亂掰的..筆數每次都不一樣

所以不能用 between x and x

地址排序後 我希望用下列方式
資料 人員

1 A
2 B
3 C
4 D
5 E
6 A
7 B
.... 以此類推

本篇文章回覆於2017-03-28 16:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

風箏
檢舉此回應

參考參考


本篇文章回覆於2017-03-29 09:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
create procedure pro_ccc
as
select 資料編號=identity(int,1,1),crf31a04_bcodeadd 運輸客戶地址
into #xx
from crf31a order by 運輸客戶地址

alter table #xx add [user] nvarchar(50) null

create table #user(資料編號 int identity(1,1) primary key,
人員 nvarchar(50) null)

insert #user select 'A'
insert #user select 'B'
insert #user select 'C'
insert #user select 'D'
insert #user select 'E'

declare @平均數 int =(select count(*) from #xx)/(select count(*) from #user)

declare @i int
declare @max int

SET @i = 1
SET @MAX =(select count(*) from #user)
WHILE (@i<=@MAX)
BEGIN
update #xx set [user]=(select 人員 from #user where 資料編號=@i) where 資料編號<@平均數*@i and [user] is null

Set @i=@i+1
END

select * from #xx
本篇文章回覆於2017-03-29 10:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
where 資料編號<=@平均數*@i and [user] is null
不然最後一筆會更新不到
本篇文章回覆於2017-03-29 10:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

風箏
檢舉此回應





補一個不定數量使用者配置


本篇文章回覆於2017-03-29 11:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Chen Rickey
檢舉此回應
感謝風箏大 可以使用ㄌ
本篇文章回覆於2017-03-29 12:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.