[SQL ]這種問題要怎麼處理?

看板Database作者 (愛翻滾的狗)時間17年前 (2009/02/08 02:40), 編輯推噓4(400)
留言4則, 4人參與, 最新討論串1/1
最近公司做一個活動,要讓使用者登入網站填問卷跟聯絡資料, 然後每月從這些資料中取出一位名單當中獎名單送禮物, 這兩天觀察了一下DB(MS的DB),發現如果要是某位使用者,一直登入留資料的話, 這樣DB裡他的資料就會變多,這樣他的中獎機率也會變高, 某種程度這是不公平的,而我的想法是,用distinct的方式把相同的資料給濾掉, 相同的只留一筆,但現在問題來了,我select出來的資料只有name的部分,但是 我打算用該筆資料的序號(主鍵)來做random的操作,要怎麼辦? SQL語法: select distinct name from xxx; ↑這樣一來就是只有一堆沒有重覆姓名的姓名名單, name ======= 阿狗 阿貓 Keroro ....... 我要怎麼寫才能寫出 ID NAME == ===== 1 阿狗 2 阿貓 3 Keroro 不知道大家都是怎麼處理這種問題的? 大家來討論一下吧!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.70.118

02/08 02:53, , 1F
會員喔.. select min(id), name from table group by name
02/08 02:53, 1F

02/08 20:44, , 2F
沒有異人同名問題?
02/08 20:44, 2F

02/10 22:01, , 3F
group by後insert到pk設為identity的temp table
02/10 22:01, 3F

02/14 13:26, , 4F
一個序號只會對應一個name嗎?還是多個序號對到一個name?
02/14 13:26, 4F
文章代碼(AID): #19ZTMZwU (Database)