iT邦幫忙

0

MS SQL取最大值N個資料 ,要怎麼寫SQL?

XYZ 2022-03-04 12:06:501480 瀏覽
  • 分享至 

  • xImage

大家好,

Table 1 的資料(圖一),想變成圖二,該如何下SQL呢?

抱歉更新圖一紅框處

https://ithelp.ithome.com.tw/upload/images/20220304/20108157TzR6wH2hxm.jpg

https://ithelp.ithome.com.tw/upload/images/20220304/20108157BbDztcv4XG.jpg

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
石頭
iT邦高手 1 級 ‧ 2022-03-04 12:52:54
最佳解答

可以使用 DENSE_RANK window function.

SELECT *
FROM (
	SELECT *,DENSE_RANK() OVER(PARTITION BY [季] ORDER BY [修改版次] DESC) rn
	FROM T 
    WHERE buy IS NOT NULL
) t1
WHERE rn = 1

sqlfiddle

2
小山丘
iT邦新手 2 級 ‧ 2022-03-04 12:17:21
SELECT 季,MAX(修改版次),BUY,MAX(price)
  FROM Table 1
  GROUP BY 季,BUY

我要發表回答

立即登入回答