Re: [SQL ] 相同SN取時間最大的? 求救.....
-- 用黃色 group by
-- 用天青色排名(遞減)
-- 最後取第一名的
;with tb1 as (
select *,
row_number() over (
partition by Customer_num,Customer_SN order by Time desc
) as num
from table
where Customer_Name = 'A'
)
select * from tb1 where num = 1
※ 引述《necsa (necsa)》之銘言:
: 各位好!
: 這個問題我測試了很久, 並嘗試google大神.
: 可是還是失敗.....
: 希望有高手能給予解答.
: 我的Table欄位共大概100欄, 大概如下:
: Row_ID是流水號自動生成.
: TableName=myTable
: Row_ID, Customer_Name, Customer_num, Customer_SN, Time,..............,
: 1 A 2 1 4/3
: 2 A 2 2 4/3
: 3 A 2 3 4/4
: 4 A 3 1 4/6
: 5 A 3 2 4/6
: 6 A 3 3 4/6
: 7 A 4 1 4/1
: 8 A 4 1 4/5
: 9 A 4 2 4/1
: 10 A 4 2 4/6
: 11 A 4 3 4/1
: 12 A 4 4 4/2
: 我需要以Customer_Name, 含Row_ID約100欄的所有欄位資料都要output出來.
: 一開始我使用
: Select * from myTable where Customer_Name='A'
: order by Custer_num ASC, Customer_SN ASC.
: 可以得到我要的結果.
: 結果在多筆測試後,發現輸出的資料Customer_SN有時候會重複
: (Row ID=7,8的Customer_SN都是1,Row ID=9,10的Customer_SN都是2)
: 造成後續程式撰寫資料錯亂.
: 請問要下什麼樣的SQL查詢, 當Customer_SN重複的時候只留下一筆Time比較大的資料?
: 希望查詢結果如下:
: Row_ID, Customer_Name, Customer_num, Customer_SN, Time,..............,
: 1 A 2 1 4/3
: 2 A 2 2 4/3
: 3 A 2 3 4/4
: 4 A 3 1 4/6
: 5 A 3 2 4/6
: 6 A 3 3 4/6
: 8 A 4 1 4/5
: 10 A 4 2 4/6
: 11 A 4 3 4/1
: 12 A 4 4 4/2
: 懇請不吝賜教.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.104.117
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1492442533.A.F1F.html
推
04/18 00:35, , 1F
04/18 00:35, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章