Re: [SQL ] 篩選資料的語法

看板Database作者 (多想兩分鐘 = =")時間15年前 (2010/03/22 23:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《chengchieh (chieh)》之銘言: : tablea : ca為某地點的id...另一張表的pk : cb為該筆資料的記錄時間 : cc~cj為雜魚... select t1.* from tablea t1 join ( select ca, max(cb)max_cb, max(cc)cc... --add other columns to make PK from tablea group by ca )t2 on t1.ca=t2.ca and t1.cb=t2.max_cb and t1.cc=t2.cc... 缺點:max(cb)、max(cc)可能屬於不同筆資料。 select t1.*, t2.* from tablea t1 cross apply( select top 3 * -- top 3...只是讓效果比較容易觀察 from tablea t2 where t1.ca=t2.ca order by t2.cb desc )t2 缺點:只確定 SQL Server能跑。 以上,未經測試(沒有資料怎麼測…) 但看懂概念應該很好改。 : 需求為取出 不重複的ca的最新一筆資料(一個ca只能輸出1筆) : 有使用過 distinct ca, max(cb) 下去做過... : but...在摻入了其他雜魚之後 : 因為有不少資料是 ca一樣..cb也一樣(同時間同單位不同資料內容) : 出來的東西就跟我本來要的條件相反了... : 不知道是不是有什麼方法/語法可以推薦呢? : ps...資料表的schema不能動 > < : 描述的可能不是很好...希望有人能幫忙一下~~ : thx~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.46.184
文章代碼(AID): #1BfukhKK (Database)
文章代碼(AID): #1BfukhKK (Database)