2016-07-25 12 views
0

私は単純なselectステートメントを実行しようとしていますが、私はそれをやるのに苦労しています。SQL Server 2008:SELECT min(date)

私はこれらの列を持つテーブルがある:

companyID, CompanyDept, DateAdded 

私はこのようなselect文をやろうとしている...

Select CompanyID, CompanyDept 
where min(dateAdded) 

をそうDateAddedため、複数の日付がある - 私は」最も早くDateAddedCompanyDeptCOmpanyIDを選択しようとしています。

EDIT:CompanyID、CompanyDEpt where dateAdded = MINを選択します。10/1/2015、11/12/2015、1/20/2016などの日付が3つ以上ある可能性があります(データの行は意味します)私は可能な限り早い日付(2011年10月1日)を見てこの日付を選択しようとしています

+2

選択トップ1企業ID、CompanyDeptタイで起こるはず何 –

+2

DESC dateAddedによって{テーブル名}オーダーから? – shawnt00

+0

@ shawnt00あなたは何を意味するのか分かりませんか? – user6576015

答えて

2

TOP 1を使用して日付順に1番目のレコードを取得することができます。

SELECT TOP 1 
    CompanyID, CompanyDept 
FROM 
    Table 
ORDER BY 
    dateAdded 
+0

シンプルで仕事があります! – user6576015

1

あなたが望むものは完全にはっきりしませんが、あなたが探しているものだと思います。

with sortedResults as 
(
    Select CompanyID 
     , CompanyDept 
     , ROW_NUMBER() over (partition by CompanyID, CompanyDept order by dateAdded desc) as RowNum 
    from YourTable 
) 

select CompanyID 
    , CompanyDept 
from sortedResults 
where RowNum = 1 
1
SELECT CompanyID, CompanyDept 
FROM TableName 
order by dateadd ASC 

私は 、あなたはすべてのレコードを望んでいないと仮定しますか? はQ.howあなたは以前の日付ことを知っていますか:?古いため 新旧である1つのレコードはDESC

select top (1)* from CompanyID, CompanyDept 
FROM TableName 
order by dateadd ASC 

場合は、上記以下ASCと新しいのために読んでいないんたいですか日付とを比較する別の列名がありますか?

そうであれば、

where dateadd <= that column 
order by dateadd ASC