Как подсчитать вхождения значения столбца и сопоставить его с теми же столбцами в SQL?

#sql

#sql

Вопрос:

У меня есть таблица продаж

Я хочу запросить все продажи и объединить столбец идентификатора, который подсчитывает, сколько продаж имеют один и тот же идентификатор:

Запрос должен отображаться в формате ниже, не могли бы вы сообщить мне эффективный способ сделать это.

Таблица продаж

Таблица, которая будет отображена после запроса

Комментарии:

1. CONCAT(ID, '_', ROW_NUMBER() OVER (PARTITION BY SUBSTRING_INDEX(ID, '_', 1), Segment) ORDER BY ID)

2. Шаг 1: нормализуйте свою схему

3. Я удалил несовместимые теги базы данных. Пожалуйста, помечайте только ту базу данных, которую вы действительно используете. Ваши результаты также не имеют смысла. Пожалуйста, объясните, как вычисляются значения.

Ответ №1:

Используйте ROW NUMBER и CONCAT функционируйте для достижения того же.

 SELECT CONCAT(ID, '_', ROW_NUMBER() OVER (PARTITION BY SUBSTRING_INDEX(ID, '_', 1), Segment) ORDER BY ID) 
FROM Tablename