Как разделить столбец на два разных столбца с условием

У меня есть данные о брендах и продавцах.

Бренд BB_seller Биотерм Амазонка БВЛГАРИ третья сторона БВЛГАРИ третья сторона Каролина Эррера Амазонка Шанель Амазонка Шанель Амазонка
select Brand, substring([Buy Box Seller],1,9) as BB_seller
from italy_keepa
where [Buy Box Seller] is not null
order by Brand

Я хочу преобразовать ее в таблицу такого типа. На самом деле мне просто нужно посчитать разные типы продавцов.

Бренд Амазонка третья сторона Шанель 6 10

Я попробовал этот код, но числа в счетчике странные.

select Brand, count(distinct([Buy Box Seller])) as BB_seller
from italy_keepa
group by Brand
order by BB_seller desc
Бренд BB_seller Шанель 10 Том Форд 3 Прада 3 Валентино 2

Когда вы задали свой вопрос, вам сказали: «Пожалуйста, обязательно публикуйте код (, данные) и ошибки в виде текста непосредственно в вопросе (и , а не в виде изображений ) и отформатируйте их соответствующим образом». Пожалуйста, следуйте инструкциям при публикации своих вопросов, так как в противном случае вы, скорее всего, получите отрицательные и/или закрытые голоса; это означает, что на ваш вопрос гораздо меньше шансов получить ответ.

Thom A 24.07.2024 18:57
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В этом случае вам нужно использовать технику «PIVOT». Я просто привожу простой пример такого запроса, и вы можете использовать его для своего случая:

select 
    ProductCategoryID,
    count(case when Color  = 'Black' then ProductID end) balack_count,
    count(case when Color  != 'Black' then ProductID end) other_count
from product
group by ProductCategoryID 

Попробуйте онлайн

Да, это работает! Спасибо 😊

Alex 25.07.2024 08:38

Для этого вы можете попробовать использовать команду «PIVOT». Вот образец:

SELECT Brand, Amazon, `3rd Party` FROM italy_keepa PIVOT (
    COUNT(`Buy Box Seller`) 
    FOR `Buy Box Seller` IN ('Amazon', '3rd Party')
)

Надеюсь это поможет!

Другие вопросы по теме