我有一些查詢MySQL數據庫的經驗,我正在學習如何在Oracle中做同樣的事情。我有多難理解這個問題。假設我有一個DEMOGRAPHICS表,其中包含以下列:DATE_OF_BIRTH,GENDER,RACE,ETHNICITY。還有一張CAR列表,其中列出了不同品牌的汽車(豐田,福特等)。我將如何創建一份統計報告,列出男性,女性,白人,亞洲人,黑人,西班牙人,非西班牙人以及兩個年齡段(18-30歲和50-70歲)列中的每輛汽車製造商和相應的百分比率。百分比應四捨五入至小數點後兩位。它應該是這樣的: enter image description here 我會很感激任何幫助,包括對類似查詢的引用。 謝謝!用於統計報告的PL/SQL查詢?
0
A
回答
0
需要更多信息。 WHITE,亞洲人,黑人< ==在這些掉落下RACE列 拉美裔,而不是西班牙< ==這些都在下降柱族羣社區調查
0
drop table demographics
drop table car
create table car(MAKE_ID number primary key, MAKE varchar2(30));
create table demographics(DATE_OF_BIRTH date , GENDER varchar2(10), RACE varchar2(30), ETHNICITY varchar2(30), MAKE_ID references car);
--insert into car table
insert into car values(1,'Toyota');
insert into car values(2,'Ford');
insert into car values(3,'GM');
--inserts 1000 rows into the demographics table
insert into demographics
select trunc(sysdate) - level as dob
,case when mod(level,2)=0 then 'MALE' else 'FEMALE' end as gender
,case when mod(level,2)=0 then 'WHITE' else 'BLACK' end as race
,case when mod(level,4)=0 then 'ASIAN'
when mod(level,3)=0 then 'HISPANIC'
when mod(level,2)=0 then 'NOT HISPANIC'
else 'LATINO'
end as ethnicity
,case when mod(level,3)=0 then 3
when mod(level,2)=0 then 2
when mod(level,1)=0 then 1
end as make_id
from dual
connect by level<=1000;
select make
,round((cnt_MAKE/tot_cnt)*100,2) as MALE_PERCENT
,round((cnt_MAKE/tot_cnt)*100,2) as FEMALE_PERCENT
from(
select a.make
,count(case when b.gender ='MALE' then 1 end) as cnt_MALE
,count(case when b.gender ='FEMALE' then 1 end) as cnt_FEMALE
,count(case when b.race ='WHITE' then 1 end) as cnt_WHITE
,count(case when b.ethnicity ='ASIAN' then 1 end) as cnt_ASIAN
,count(case when b.race ='BLACK' then 1 end) as cnt_BLACK
,count(case when b.ethnicity ='HISPANIC' then 1 end) as cnt_HISPANIC
,count(case when b.ethnicity ='NOT HISPANIC' then 1 end) as cnt_NOT_HISPANIC
,count(*) as tot_cnt
from car a
join demographics b
on a.make_id=b.make_id
group by a.make
)
相關問題
- 1. 用於統計節點的XPath查詢
- 2. 2sxc - 用於統計的查詢數據
- 3. PROC報告,同統計
- 4. 分頁統計報告
- 5. 統計彙總報告Intreprtation
- 6. 內置最終用戶報告設計器的報告系統
- 7. 用於SSRS報告使用情況統計的SOAP API方法
- 8. SQL:與用戶每日報告統計
- 9. 報告系統的測試計劃
- 10. 大查詢查詢統計
- 11. DDD:用於報告的圖層(查看模型/報告模型)
- 12. 用於報告目的的索引數據庫查詢
- 13. MySQL查詢生成報告
- 14. SSRS報告查詢語法
- 15. 查詢動態報告
- 16. Sqlite查詢報告SQLITE_CORRUPT
- 17. [PHP-MYSQL]查詢報告
- 18. Opencart報告模塊查詢
- 19. Magento銷售報告查詢
- 20. SSRS報告 - 參數查詢
- 21. SQL查詢在SSRS報告
- 22. C#報告通過查詢
- 23. SQL查詢SSRS報告
- 24. PLSQL觸發 - 基於選擇查詢
- 25. 報告目錄統計信息
- 26. TortoiseHG/Mercurial項目統計和報告
- 27. gmail腳本(統計報告)部署
- 28. 多表連接,生成報告統計
- 29. Weblogic數據源監控統計報告
- 30. WebApp /服務器/服務統計報告
謝謝你的回覆! WHITE,ASIAN,BLACK在RACE,HISPANIC,NOT HISPANIC下屬於種族。你爲什麼一開始就放棄兩張桌子?假設我在這兩個表中都有成千上萬的列表,將它們中的每一個逐一插入到一個新表格中都不是很有效。 – icittar
放下不是必需的,但由於我已經在我的模式中有一個名爲人口統計的表,我放棄了它 –