1. 程式人生 > >SQLserver中取眾位數的寫法

SQLserver中取眾位數的寫法

order by AR rowkey select bubuko desc serve AS group by

取眾位數:先按個數倒排序,再取第一條
SELECT * FROM
(
select a.billid,a.DemandVoltage,count(1) as RecordCount,
Row_NUMBER() OVER(PARTITION BY billid ORDER BY count(1) DESC) AS SN
from ETL_SingleCharging201805 a with(nolock)
WHERE RowKey LIKE ‘00000058-bca0-4559-8f8f-2fc3b61eb01c%‘
OR Rowkey LIKE ‘000001b7-3e26-47fd-9a67-b177750d5147%‘
group by a.billid,a.DemandVoltage
) b
WHERE b.billid IN (‘00000058-bca0-4559-8f8f-2fc3b61eb01c‘,
‘000001b7-3e26-47fd-9a67-b177750d5147‘) AND b.SN=1

技術分享圖片

按個數排序:
select a.billid,a.DemandVoltage,count(1) as RecordCount, Row_NUMBER() OVER(PARTITION BY billid ORDER BY count(1) DESC) AS SN
from ETL_SingleCharging201805 a with(nolock)
WHERE RowKey LIKE ‘00000058-bca0-4559-8f8f-2fc3b61eb01c%‘ OR Rowkey LIKE ‘000001b7-3e26-47fd-9a67-b177750d5147%‘
group by a.billid,a.DemandVoltage

技術分享圖片

SQLserver中取眾位數的寫法