您的位置:首页 > 数据库

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

2012-07-10 11:56 183 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: