Подсчитать ВЫБРАТЬ РАЗЛИЧНЫЙ СПИСОК

Мне интересно, как получить счетчик подзапроса / значение HANDLING_UNIT_ID. Ниже показано, что у меня есть в настоящее время:

СЧЁТ (ВЫБРАТЬ РАЗЛИЧНЫЙ СПИСОК (HANDLING_UNIT_ID; ',') ВНУТРИ ГРУППЫ (ЗАКАЗАТЬ ПО HANDLING_UNIT_ID) ОТ SHIPMENT_LINE_HANDL_UNIT ГДЕ ORDER_NO = SL.ORDER_NO) КАК КОЛИЧЕСТВО

Чего вы пытаетесь достичь?

Mureinik 30.11.2018 10:37

@Mureinik Получите количество идентификаторов Hand_unit_id, подзапрос используется для получения этого значения.

mfgn 30.11.2018 10:38

Помогите нам помочь вам. Опубликовать - опубликуйте образцы данных и результат, который вы пытаетесь получить. Навскидку кажется, что listagg может оказаться неподходящим инструментом для этой работы.

Mureinik 30.11.2018 10:39

Все, что мне нужно знать, это как СЧИТАТЬ подзапрос выбранного отдельного

mfgn 30.11.2018 10:46
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
4
1 037
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вы можете использовать COUNT( DISTINCT ... ) внутри подзапроса:

SELECT your_outer_values,
       ( SELECT COUNT( DISTINCT HANDLING_UNIT_ID )
         FROM   SHIPMENT_LINE_HANDL_UNIT
         WHERE  ORDER_NO = SL.ORDER_NO ) AS quantity
FROM   your_table sl

Can anyone advice why this won't work?

Предложение GROUP BY отсутствует, поэтому LISTAGG будет работать со всем набором результатов и агрегировать его в одну строку, состоящую из списка строк с разделителями, содержащего все значения HANDLING_UNIT_ID. Поскольку есть одно значение из LISTAGG, предложение DISTINCT является избыточным, и COUNT из внешнего запроса всегда будет возвращать 1.

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