2013-03-18 3 views
-1

У меня такой стол.ПОЛОЖЕНИЕ ЗАКАЗА, МИН И МАКС.

Таблица A

[Работа Лот] [ID работы] [Child ID работы] [Время Завершено] [Заказ рабочих мест Готово] [Min] [Max] [AVG]

1 11 100 10 Pos1

1 11 101 20 Поз 2

1 11 103 30 Поз 3

2 12 101 30 Pos 1

2 12 105 10 Поз 3

каждого задания ребенка ID представляет собой доставку на конкретный сайт, как Нью-Йорк, Вашингтон или Лос-Анджелеса каждую неделю.

Поэтому мне нужно работать, чтобы сказать, для ребенка ID 10, что такое средняя позиция. Я вижу, что в JOB ID 11 он имеет идентификатор задания на работу с ребенком 10 в POS 1 и в ID задания 12, он находится в POS 2, поэтому min - POS1, максимальный - POS3, а средний - POS 2.

Я вычисляю min, max и average для всех идентификаторов JOB ID в sql?

+4

Можете ли вы правильно форматировать данные? –

+0

Итак, я должен вычислить столбцы min, max и avg на основе этой логики, которая находится в тексте выше. –

+0

и текущий формат не читается –

ответ

2

Если вы сохраняете только поле POS в поле, тогда SQL прост.

Select CHILD_JOB_ID, MIN(POS), MAX(POS), AVG(POS) 
from table-name 
group by CHILD_JOB_ID 

Если поле POS имеет строку с префиксом «POS», то вы можете получить результаты от

Select CHILD_JOB_ID, 
     MIN(SUBSTRING(POS, 5, LEN(POS)), 
     MAX(SUBSTRING(POS, 5, LEN(POS)), 
     AVG(SUBSTRING(POS, 5, LEN(POS)) 
from table-name 
group by CHILD_JOB_ID 
+0

В столбцах min, max и avg нет значений. В этой таблице заполняется только заполненный заказ Джобса. –

+0

Жаль, что это не работает. Извинения, может быть, я был очень ясен с вопросом. Надеюсь, теперь это ясно. –

Смежные вопросы