Re: [SQL ] 篩選資料的語法
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):