iT邦幫忙

0

資料表群組排序

組別 / 會員 / 數量 / 加入時間
A / AA / 1 / 2019/03/01
B / BB / 2 / 2019/03/02
B / AA / 1 / 2019/03/03
A / BB / 1 / 2019/03/04
B / CC / 1 / 2019/03/05

以組別中最大加入時間排序,再以會員個別加入時間排序,輸出結果如下
B / CC / 1 / 2019/03/05
B / AA / 1 / 2019/03/03
B / BB / 2 / 2019/03/02
A / BB / 1 / 2019/03/04
A / AA / 1 / 2019/03/01

小魚 iT邦高手 1 級 ‧ 2019-06-14 00:15:12 檢舉
只要適當決定Order的欄位及方向就可以了.

2 個回答

1
rogeryao
iT邦研究生 1 級 ‧ 2019-06-14 12:54:52
最佳解答
CREATE TABLE TempTableA(F1 varchar(20), F2 varchar(20), F3 varchar(20), F4 varchar(20));

select Q.* 
from (
select P.F1 as F1_1,max(P.F4) as F4_1
from TempTableA as P
where 1=1 
group by P.F1
) as R
left join TempTableA as Q on R.F1_1=Q.F1 
order by R.F4_1 desc,F4 desc

Demo

ufoer168 iT邦新手 5 級 ‧ 2019-06-14 21:17:40 檢舉

感謝大大解惑 >A<

但為什麼我點"選為最佳解答"都沒反應??

rogeryao iT邦研究生 1 級 ‧ 2019-06-14 21:52:07 檢舉

系統的問題 , 改一下螢幕解析度或是換個瀏覽器(Chrome)試看看

https://ithelp.ithome.com.tw/questions/10193872

1
海綿寶寶
iT邦超人 1 級 ‧ 2019-06-14 08:00:38
SELECT * FROM 資料表
ORDER BY 組別 DESC, 加入時間 DESC

我要發表回答

立即登入回答