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