[英]Combine two SELECT statements to create output in ORACLE SQL DEVELOPER
所以我試圖將這兩個語句的 output 結合起來:
SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER WHERE MILES BETWEEN 3 AND 5;
這個總數給了我 8
SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER;
*這個總數給我 20(我的數據庫中的總行數)
這讓我知道我的數據庫中誰住在 3 英里和 5 英里以內,英里是它自己的列。
我想 output 回答我的總數據庫的百分比,例如。 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 行。
最后的FROM
應該來自DUAL
(它只包含 1 行),而不是CUSTOMER
(顯然包含 20 行)。
SELECT (SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER WHERE MILES BETWEEN 3 AND 5) /
(SELECT COUNT (CUSTOMER_ID) FROM CUSTOMER) * 100 as result
FROM DUAL; --> here
使用條件聚合在單個查詢中完成所有操作:
SELECT COUNT(CASE WHEN miles BETWEEN 3 AND 5 THEN customer_id END)
/ COUNT(customer_id) * 100 AS percentage
FROM customer;
如果您使用子查詢,那么您將訪問該表兩次並且效率會降低。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.