这些是我用这个sql获取的记录,但是很难找到百分比。
SELECT
(SELECT gender FROM tbl_gender WHERE genderCode = u.genderCode) AS gender,
COUNT(cp.UserID) AS people
FROM tbl_campaign_master cm
INNER JOIN tbl_campaign_played cp ON cp.CampaignCode = cm.campaignCode
INNER JOIN tbl_users u ON cp.UserID = u.userId
WHERE cm.campaignCode = 'CM00000179'
GROUP BY u.genderCode
Gender People
Male 1
Female 1
如何获得这些结果
Gender People Percentage
Male 1 50%
Female 1 50%
我想知道,每行的百分比如何
答案 0 :(得分:0)
基于您的输出只是示例查询
declare @t table (gender varchar(10),people int)
insert into @t (gender,people)values('male',1)
insert into @t (gender,people)values('female',1)
Select gender,people, CONVERT(VARCHAR(10),(Count(people)* 100 / (Select Count(*) From @t)))+'%' as Score
From @t
Group By gender,people
您可以根据我的假设修改查询中的代码
SELECT
(SELECT gender FROM tbl_gender WHERE genderCode = u.genderCode) AS gender,
CONVERT(VARCHAR(10),COUNT(cp.UserID)/(Select Count(*) From tbl_campaign_played WHERE campaignCode = cm.campaignCode ))) AS people
FROM tbl_campaign_master cm
INNER JOIN tbl_campaign_played cp ON cp.CampaignCode = cm.campaignCode
INNER JOIN tbl_users u ON cp.UserID = u.userId
WHERE cm.campaignCode = 'CM00000179'
GROUP BY u.genderCode