У меня есть опыт работы с базой данных MySQL, и я пытаюсь научиться делать то же самое в Oracle. Насколько сложно иметь теоретический вопрос. Предположим, у меня есть таблица DEMOGRAPHICS со следующими столбцами: DATE_OF_BIRTH, GENDER, RACE, ETHNICITY. И таблица CAR, в которой есть столбец MAKE, в котором перечислены разные марки автомобиля (Toyota, Ford и т. Д.). Как мне создать статистический отчет, в котором будут перечислены каждый марка автомобиля и соответствующая процентная ставка в столбцах MALE, FEMALE, WHITE, ASIAN, BLACK, HISPANIC, NOT HISPANIC и две колонки по возрасту (18-30 и 50-70). Проценты должны округляться до двух знаков после запятой. Это должно выглядеть так: enter image description here Буду признателен за любую помощь, включая ссылки на похожие запросы. Спасибо!Запрос PL/SQL для статистического отчета?
0
A
ответ
0
Требуется дополнительная информация. БЕЛЫЕ, Азия, ЧЕРНЫЙ < == являются они падают в колонке 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. Какая база данных NoSQL является лучшим для статистического применения отчета
- 2. Запрос SQL для отчета
- 3. sql запрос для отчета
- 4. SQL-команды для статистического моделирования
- 5. Запрос на ввод PLSQL
- 6. Динамический запрос PLSQL
- 7. plsql показать запрос
- 8. PLSQL запрос, если оператор
- 9. Динамический запрос в PLSQL
- 10. Динамический SQL-запрос Plsql
- 11. Sql Запрос для отчета ssrs
- 12. Запрос PLSQL для поиска по типу таблицы
- 13. Vaadin Framework для статистического анализа
- 14. Использование статистического плагина для IntelliJIDEA
- 15. Форматирование вывода оракула PLSQL запрос
- 16. Быстрый запрос для отчета для конечного пользователя
- 17. plsql: выполнить запрос: неверный идентификатор
- 18. SQL-запрос почасового отчета?
- 19. Инструмент интерактивного статистического анализа
- 20. Mysql ежечасный запрос отчета
- 21. Расчет статистического резюме в шифровальщике
- 22. Вычисление статистического режима
- 23. (Java) Назначение статистического анализа
- 24. запрос для получения отчета о продаже
- 25. SQL-запрос для создания отчета о матчах
- 26. SQL-запрос для отчета о перфокарте
- 27. Mysql SQL запрос для форматирования общего отчета
- 28. Дерево/группа UNION SQL-запрос для отчета
- 29. MYSQL запрос на выборку для отчета
- 30. установка статистического пакета openimaj
Спасибо за ответ! БЕЛЫЙ, АЗИАТСКИЙ, ЧЕРНЫЙ находятся под RACE, HISPANIC, NOT HISPANIC находятся под ЭТНИЧНОСТЬЮ. Почему вы отбросили обе таблицы в начале? Предположим, что у меня есть тысячи списков в обеих таблицах, будет неэффективно вставлять каждый из них один за другим в новую таблицу. – icittar
Капля не нужна, но поскольку у меня уже была таблица, называемая демографией в моей схеме, я уронил ее –