SQL通过表变量,求百分比的小例子

DECLARE @TempTotalTable TABLE (TotalCount INT ,Task_KeyWord varchar(100),SearchEngine_Name varchar(100),Brand_Name varchar(100))
DECLARE @TempGiveUpTable TABLE (GiveUPCount INT ,Task_KeyWord varchar(100),SearchEngine_Name varchar(100),Brand_Name varchar(100))
INSERT @TempTotalTable
 (TotalCount,Task_KeyWord,SearchEngine_Name,Brand_Name)
 (SELECT 
      COUNT(1) AS 抓取总数
      ,Task_KeyWord
      ,SearchEngine_Name
      ,Brand_Name         
  FROM [SEC_Item] as A ,[IWT_Brand] as B ,SEC_SearchEngine as C
  WHERE A.brand_id=B.brand_id and A.brand_id=30015 and C.SearchEngine_ID=A.SearchEngine_ID   GROUP BY Task_KeyWord,SearchEngine_Name,Brand_Name
 )
 INSERT @TempGiveUpTable
 (GiveUPCount,Task_KeyWord,SearchEngine_Name,Brand_Name)
 (SELECT 
      COUNT(1) AS 放弃数
      ,Task_KeyWord
      ,SearchEngine_Name
      ,Brand_Name          
  FROM [SEC_Item] as A ,[IWT_Brand] as B ,SEC_SearchEngine as C
  where A.brand_id=B.brand_id and A.brand_id=30015 and C.SearchEngine_ID=A.SearchEngine_ID AND Item_State IN (4,6)    GROUP BY Task_KeyWord,SearchEngine_Name,Brand_Name 
  )
  SELECT ISNULL(cast(cast(B.GiveUPCount*1.0/A.TotalCount*100 as decimal(10,1)) as varchar(20))+'%','0%')as [百分比],ISNULL(B.GiveUPCount,0) as 放弃数 , A.TotalCount as 抓取总数,A.Task_KeyWord,A.SearchEngine_Name,A.Brand_Name FROM @TempTotalTable as A  LEFT JOIN @TempGiveUpTable as B ON A.Brand_Name=B.Brand_Name AND  A.Task_KeyWord=B.Task_KeyWord AND A.SearchEngine_Name=B.SearchEngine_Name ORDER BY  A.TotalCount DESC
          


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值