»
遊客:
加入
|
登入
(帳號有問題請連絡TWed2k@gmail.com)
TWed2k
»
程式開發討論區
» [問題] 請問得獎名單地理區域平均篩選怎麼做 ?
可打印版本
|
推薦給朋友
|
訂閱主題
|
收藏主題
|
純文字版
論壇跳轉 ...
主題:
[DB]
[問題] 請問得獎名單地理區域平均篩選怎麼做 ?
字型大小:
小
|
中
|
大
|
巨
←
→
Yves
鐵驢友〔中級〕
今日心情
. 積分:
52
. 文章:
83
. 收花: 246 支
. 送花: 45 支
. 比例: 0.18
. 在線: 274 小時
. 瀏覽: 22961 頁
. 註冊:
6277
天
. 失蹤:
1381
天
#1 : 2012-9-30 04:35 AM
全部回覆
送花
(3)
送出中...
我怎麼記得現在是22縣市
用資料庫來做的話,可以用cursor或tempdb來做
前提是要確定縣市大家填的字眼都是一樣(不然會有 台北市 臺北市 北市 這樣會變成3個不同的區域)
假設前三碼是縣市
1. Select count(1), 地址前三碼 from ... group by 地址前三碼 order by count(1)
insert到tempdb (次數最少的排在上面)
並Select出所有的筆數丟到變數裡
***第一步驟要確認的是 挑出來行數的是否少於22(縣市), 避免有人亂填(我就常亂填...)
2. 從最少的開始(所以剛剛有排序)
Select max(次數/總次數*200,1) 得到該地區得獎人數
**用max是因為 最少要抽1位. 至於要不要4捨5入就隨意啦
***注意: 因為有進位的問題. 所以要設變數去統計得獎人數 避免超過200人
3. Select 該地區 去rand出那些人得獎
4.迴圈到2 換下一個縣市
PS. 第2點比例要更精準的話 就是 (地區次數)/(總人次-已rand過的區域次數)*(200-已用掉的人數)
不然所有被進位的人數都會扣在最後(最多人)的區域
[Yves 在 2012-9-30 04:46 AM 作了最後編輯]
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
快速回覆
表情符號
更多 Smilies
字型大小 :
小
|
中
|
大
|
巨
[完成後可按 Ctrl+Enter 發佈]
溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別
關閉
表情符號
關閉
Discuz! 代碼
使用個人簽名
接收新回覆信件通知
發表時自動複製內容
[立即複製]
(IE only)
論壇跳轉 ...
最近訪問的論壇 ...
硬體求助討論區
灌水版區
所在時區為 GMT+8, 現在時間是 2024-5-16 08:52 AM
清除 Cookies
-
連絡我們
-
TWed2k
© 2001-2046
-
純文字版
-
說明
Discuz!
0.1
| Processed in 0.017911 second(s), 7 queries , Qzip disabled