0

14列のテーブルがあります。これらの列は、色、タイプ、フィート、日付、カウントなどです。必要なのは、id とタイプのすべての個別のレコードを最新の日付で選択することです。では、例えば…

色--------タイプ-----------日付

赤--------仕事-----------01/01/01

赤---------遊び----------02/02/02

赤---------遊び----------03/03/03

この場合、01/01/01 の red, work と 03/03/03 の red, play を返します。うまくいけば、これは理にかなっています。select unique と select distinct と group by のさまざまな組み合わせを試しましたが、何も思いつきませんでした。

私が試しているSQL文は次のとおりです。

select distinct
  chock_id, 
  roll_type, 
  max(chock_service_dt), 
  chock_id_dt, 
  chock_seq_num, 
  chock_service_cmnt, 
  total_rolled_lineal_ft, 
  total_rolled_tons, 
  chock_usage_cnt, 
  chock_insert_dt, 
  record_modify_dt, 
  next_chock_service_dt_act,
  previous_alarm_value, 
  upload_complete_yn 
from 
  tp07_chock_summary_row 
group by 
  chock_id, 
  roll_type,
  chock_service_dt, 
  chock_id_dt, 
  chock_seq_num, 
  chock_service_cmnt, 
  total_rolled_lineal_ft, 
  total_rolled_tons, 
  chock_usage_cnt, 
  chock_insert_dt, 
  record_modify_dt, 
  next_chock_service_dt_act,
  previous_alarm_value, 
  upload_complete_yn;

ここに画像の説明を入力

これがスクリーンショットです。以下のコメントで述べたように、行 2 と行 4 のように、同じ chock_id と roll_type を持つ複数のレコードを持つことはできません。

4

3 に答える 3

0
select 
 color,
 type,
 max(date)
from
 yourtable
group by
 color,
 type
于 2013-06-21T18:02:22.263 に答える