Во-первых, я использую ORACLE SQL. Я работаю с таблицей, которая имеет два простых столбца: NBHD и MODEL. Что мне нужно сделать, так это сначала посчитать, сколько раз каждая МОДЕЛЬ используется на NBHD. Тогда мне нужно взять только МОДЕЛЬ с наибольшим количеством на NBHD. Мне удалось подсчитать, сколько раз МОДЕЛЬ используется на NBHD, но я застрял там.
Во-первых, вот код для создания временной таблицы, которая должна представлять данные, которые яИспользую.
create table temp_ctest (NBHD VARCHAR(2), MODEL VARCHAR(2));
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'D');
insert into temp_ctest (NBHD, MODEL) VALUES ('2', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('3', 'B');
insert into temp_ctest (NBHD, MODEL) VALUES ('4', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'D');
insert into temp_ctest (NBHD, MODEL) VALUES ('2', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('3', 'B');
insert into temp_ctest (NBHD, MODEL) VALUES ('4', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'D');
insert into temp_ctest (NBHD, MODEL) VALUES ('2', 'D');
insert into temp_ctest (NBHD, MODEL) VALUES ('3', 'D');
insert into temp_ctest (NBHD, MODEL) VALUES ('4', 'D');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('2', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('3', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('3', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('3', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('3', 'A');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('1', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('4', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('4', 'C');
insert into temp_ctest (NBHD, MODEL) VALUES ('4', 'C');
Вот код, который я уже использовал, чтобы получить количество раз, сколько каждая МОДЕЛЬ используется на NBHD.
select nbhd, model, count(model) modelcount
from temp_ctest
group by nbhd, model
order by nbhd, modelcount desc;
Это извлеклоследующий список:
https://snipboard.io/UZ1x5L.jpg
Я пытался использовать over (partition by), но я все еще довольно плохо знаком с SQL и не могу понять это.
Результаты, которые я надеюсь достичь, являются частью списка выше. Я просто хочу самую высокую модель на NBHD. Для данного набора я хотел бы видеть следующий результат:
https://snipboard.io/HayLoZ.jpg
Любая помощь приветствуется !!