#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