Возможно реализовать данную задачу только SQL запросом? - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. У меня есть таблица, в ней я выбираю две колонки 1-я колонка (тип Char) 2-я колонка (int). Пример:

1-я колонка

|

2-я колонка

| 14507 43 14508 789 14805 10 14901 235 14902 67

Нужно получить

:

1-я колонка

|

2-я колонка

| 145 832 148 10 149 302 То есть сравнить значения в первой колонки и если первые три цифры их одинаковые про суммировать значения во второй, а в первой оставить только одно число. Я предполагаю, что можно убрать последние две цифры в 1 колонке, поменять ей тип на целочисленный и сравнить, а как дальше получить результат не совсем понимаю. Возможно реализовать такой запрос? Или стоит вытащить данные, а потом работать с массивами?

Решение задачи: «Возможно реализовать данную задачу только SQL запросом?»

textual
Листинг программы
select substring(`1-я колонка`, 1, 3), sum(`2-я колонка`) from `таблица` group by 1;

Объяснение кода листинга программы

В представленном коде выполняется SQL-запрос, который выполняет следующие действия:

  1. substring(1-я колонка, 1, 3) - функция SUBSTRING используется для извлечения первых трех символов из первого столбца (1-я колонка) таблицы.
  2. sum(2-я колонка) - функция SUM используется для вычисления суммы значений второго столбца (2-я колонка) таблицы.
  3. fromтаблица`` - указывается название таблицы, из которой производится выборка.
  4. group by 1 - результаты выборки группируются по первому столбцу (1-я колонка). В итоге, данный запрос возвращает список первых трех символов из первого столбца и сумму значений второго столбца для каждой группы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5