-1

私はそのようなテーブルを持っています。

表A

[ジョブロット][ジョブID][子ジョブID][完了時間][完了したジョブの順序][最小][最大][AVG]

1 11100 10 Pos1

1 1110120位置2

1 11103 30 Pos 3

2 1210130位置1

21210510位置3

各子ジョブIDは、毎週ニューヨーク、ワシントン、LAなどの特定のサイトへの配信を表します。

だから私は子供ID10の平均的な位置を言うように解決する必要があります。JOB ID11ではPOS1に子ジョブID10があり、JOB ID12ではPOS2にあるため、最小値はPOS1、最大値はPOS3、平均値はPOS2です。

SQLのすべてのCHILDJOBIDの最小、最大、平均を計算するにはどうすればよいですか?

4

1 に答える 1

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
于 2013-03-18T18:14:42.300 に答える