Показать все записи таблицы, количество которых больше 1 - PullRequest
0 голосов
/ 18 июня 2020

У меня есть таблица с категорией и брендом следующим образом:

| id| category | brand |   date    | ........
| 1 |   A      | A1    | 12-DEC-09 | ........
| 1 |   A      | A1    | 12-DEC-09 |........
| 1 |   A      | A1    | 13-DEC-09 |........
| 2 |   A      | A2    | 14-DEC-09 |........
| 2 |   B      | B1    | 14-DEC-09 |........
| 2 |   B      | B2    | 14-DEC-09 |........
| 2 |   B      | B3    | 14-DEC-09 |........

Мне нужно отобразить результат с брендом больше 1. Бренд основан на категории.

I нужен такой результат:

| 1 |   A      | A1    | 12-DEC-09 | ......
| 1 |   A      | A1    | 12-DEC-09 |........
| 1 |   A      | A1    | 13-DEC-09 |........

Я получаю только категорию, бренд и их общее количество с моим запросом.

select
    category,
    brand,
    count(*) as total
from
    tbl_category
group by category, brand

Но мне нужен результат, как указано выше.

1 Ответ

1 голос
/ 18 июня 2020

Вы можете использовать оконные функции:

select c.*
from (select c.*, count(*) over (partition by category, brand) as cnt
      from tbl_category c
     ) c
where cnt > 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...