ВЫБЕРИТЕ временную таблицу и УСТАНОВИТЕ NULL для повторяющегося значения

#mysql

#mysql

Вопрос:

У меня есть эта временная таблица, которая имеет повторяющееся значение в sale_val столбце. Обратите внимание на дубликат 8764173.12 с sale_id помощью of 120 . Могу ли я в любом случае установить одно из повторяющихся значений в sale_val качестве NULL или 0.00 ?

Моя временная таблица:

введите описание изображения здесь

Например, я хочу, чтобы результат был таким:

 sale_id | buy_val | sale_val   |
120     |   11.00 | 8764173.12 |
120     |   55.00 |  0.00      |
  

Мой запрос временной таблицы:

 SELECT
  sale_id,
  buy_val,
  sale_val
FROM
  table1
  

Пожалуйста, помогите и заранее спасибо

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

1. Пожалуйста, не добавляйте ссылку на изображение к вашему вопросу. Вместо этого добавьте ошибку или фрагмент кода.

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

3. Я добавил фрагмент. Не обращайте внимания на повторяющееся sale_id значение, какое важное значение было sale_val значением.

Ответ №1:

Вы можете попытаться создать временную таблицу с помощью GROUP BY . Здесь я использую MIN агрегатную функцию as для получения значений buy и sale, но вы должны использовать агрегатную функцию, которая выражает логику, которую вы хотите применить. Взгляните и на GROUP_CONCAT функцию:

 CREATE TEMPORARY TABLE temp_t AS
SELECT sale_id, min(buy_val) AS buy_val ,min(sal_val) AS sal_val
FROM   table1
GROUP BY sale_id