【发布时间】:2022-11-30 05:03:29
【问题描述】:
所以我试图结合这两个语句的输出:
SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER WHERE MILES BETWEEN 3 AND 5;
这个总数给了我 8
SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER;
*这个总数给我 20(我的数据库中的总行数)
这让我知道我的数据库中谁住在 3 英里和 5 英里以内,英里是它自己的列。
我想将答案输出到我的总数据库的百分比,例如。 8/20 * 100 * = 40%
SELECT
(SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER WHERE MILES BETWEEN 3 AND 5) /
(SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER) * 100 FROM CUSTOMER ;
但这给了我 20 行“40”,这是正确答案,我只是不想要它的 20 行。
【问题讨论】:
-
Littlefoot 在他们的回答中解释了你的错误。这是一个带有条件聚合的查询,它做同样的事情:
SELECT COUNT(CASE WHEN miles BETWEEN 3 AND 5 THEN 1 END) * 100 / COUNT(*) FROM customer;。