2017-09-20 4 views
0
select max(created_t) from inv_database ; 

O/P = 78578596最後に挿入したレコードの特定の列を選択します。どうやってやるの?

select in_date from inv_database where created_t = 78578596; 

は、私はこれらの2つのクエリをマージすると、結果が欲しいです。 最大数がcreated_tの4つのレコードがあり、すべてが同じin_dateです。その日付を取得します。どのようなクエリが必要ですか?

答えて

1

サブクエリを使用します。

select in_date 
from inv_database 
where created_t = (select max(created_t) from inv_database); 

あなたはまた、row_numberのように分析関数を使用できます。

select t.in_date 
from 
(
    select in_date, 
     row_number() over (order by created_t desc) rn 
    from inv_database 
) t 
where t.rn = 1; 
+0

これらのクエリは異なる結果を与える可能性があることに注意してください。正しい結果は実際の要件と 'in_date' - >' created_t'の依存関係が制約されているかどうかによって異なります。 –

+0

@JeffreyKempはいネクタイで何が起こるかという問題があります。 –

0

サブクエリがお手伝いします...

select in_date as Date 
from inv_database 
where created_t 
= (select max(created_t) from inv_database); 

あなたはそれを試すことができますあなたのテーブルの列の構造に基づいて。

関連する問題