2013-03-18 170 views
-1

我有這樣的桌子。POSITION ORDERING,MIN AND MAX

表A

[很多工作] [作業ID] [子作業ID] [完成時間] [已完成作業的順序] [最小值] [最大值] [AVG]

1 11 100 10 POS1

1 11 101 20 2名次

1 11 103 30位置3

2 12 101 30名次1

2 12 105 10位置3

每個子作業ID表示輸送到每星期的特定位點,如紐約,華盛頓或LA。

所以我需要努力工作,說兒童ID 10什麼是平均位置。我在JOB ID 11中看到它在POS 1中具有子作業ID 10,而在JOB ID 12中它在POS 2中,所以最小值是POS1,最大值是POS3,平均值是POS 2.

我計算出SQL中所有CHILD JOB ID的最小值,最大值和平均值?

+4

結果你能正確地格式化的數據? – 2013-03-18 17:58:58

+0

因此,我必須根據上面的文本中的邏輯來計算最小值,最大值和平均值列。 – 2013-03-18 21:01:42

+0

並且當前格式不可讀 – 2013-03-18 21:06:01

回答

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列中沒有值。在此表中僅填寫完成的作業訂單。 – 2013-03-18 21:03:50

+0

對不起,這不起作用。道歉可能我對這個問題非常清楚。希望現在更清楚。 – 2013-03-18 21:56:01