sql中求中位數的函數 SQL中位數函數實例?
SQL中位數函數實例?SQL語句:代碼如下:(SELECT a1.Name,a1.Sales,COUNT(a2.sales) Sales_RankFROM Total_Sales a1,Total_S
SQL中位數函數實例?
SQL語句:
代碼如下:
(
SELECT a1.Name,a1.Sales,COUNT(a2.sales) Sales_Rank
FROM Total_Sales a1,Total_Sales a2
WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)
GROUP BY a1.Name,a1.Sales
ORDER BY a1.Sales DESC,a1.Name DESC
) as tab WHERE tab.sales_rank=(select (count(*) 1) div 2 from total_sales)
可以查找到中間的項,count(*) 1,這個1必須要添加,總項數假如為奇數7,則count(*) 1 / 2 = 4,假如是6則為3,都是滿足的,如果不 1的話,對奇數項則不滿足,如7,count(*) /2 = 3,而我們要查找的則是位于4的位置
sqlserver里取兩個整數相除的百分比,小數點后保留2位用什么函數?
1.round()函數是四舍五入用,第一個參數是我們要被操作的數據,第二個參數是設置我們四舍五入之后小數點后顯示幾位。2.numeric函數的2個參數,第一個表示數據長度,第二個參數表示小數點后位數。例如: selectcast(round(12.5,2)asnumeric(5,2))結果:12.50 selectcast(round(12.555,2)asnumeric(5,2))結果:12.56 selectcast(round(122.5255,2)asnumeric(5,2))結果:122.53 selectcast(round(1222.5255,2)asnumeric(5,2))結果:報錯了!原因是:1222.5255,整數位是4,小數位是2,加起來4 2=6,超出了numeric設置的5位,所以為了保險,可以增減numeric的參數,例如numeric(20,2)。