首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算计数为百分比

计算计数为百分比
EN

Stack Overflow用户
提问于 2015-12-12 22:05:41
回答 4查看 114关注 0票数 1

我环顾了四周,但我似乎无法理解逻辑。我认为here是一个很好的回应,但是就像我说的那样,这是没有意义的,所以更具体的解释是非常感激的。

所以我想要展示每个种族的顾客使用信用卡的频率。信用卡有不同的类型,但如果CardID = 1,则使用现金(因此不等于1语句)。

我想按种族分组,并显示交易的数量,但按百分比计算。

代码语言:javascript
运行
复制
SELECT Ethnicity, COUNT(distinctCard.TransactionID) AS CardUseCount
FROM (SELECT DISTINCT TransactionID, CustomerID FROM TransactionT WHERE CardID <> 1) 
AS distinctCard INNER JOIN CustomerT ON distinctCard.CustomerID = CustomerT.CustomerID
GROUP BY Ethnicity
ORDER BY COUNT(distinctCard.TransactionID) ASC

例如,这就是它得出的结论:

代码语言:javascript
运行
复制
Ethnicity | CardUseCount
0         | 100
1         | 200
2         | 300
3         | 400

但我想这样做:

代码语言:javascript
运行
复制
Ethnicity | CardUsePer
0         | 0.1
1         | 0.2
2         | 0.3
3         | 0.4
EN

Stack Overflow用户

回答已采纳

发布于 2015-12-13 01:59:51

如果你需要每个种族的信用卡交易百分比,你必须将每个种族的信用卡交易除以同一种族的交易总数。您不需要对此进行子查询:

代码语言:javascript
运行
复制
SELECT Ethnicity, sum(IIF(CardID=1,0,1))/count(1) AS CardUsePercentage
FROM TransactionT     
INNER JOIN CustomerT 
      ON TransactionT.CustomerID = CustomerT.CustomerID
GROUP BY Ethnicity
票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34245536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档