2017-01-22 5 views
-1

現在のSQLクエリは、日付でソートされています。 1/6/17に、私は異なるidフィールドを持つ2つの同一のレコードを持っています。SQLクエリのID、日付フィールドの並べ替え

私のdate descの並べ替えと一緒に、idフィールドdescを含めたいと思います。そのため、IDフィールドの値が高くなると、最近の日付が表示されます。いくつかの理由から

Id  Date Status 
0  1/6/17 8:40 Available 
0  1/6/17 8:37 Available 
0  1/6/17 8:37 Available 
697000 1/6/17 8:37 Completed 
700920 1/6/17 8:37 Completed 

Idはソートされた取得されていません。私はorder by date, id descを試しました。 order by id desc。それは仕事をしなかった。

+0

出力を指定してください。 –

+1

あなたは 'order by date desc、id desc'を試しましたか? – SqlZim

答えて

4

order byの列ごとに昇順または降順を指定します。デフォルトは昇順です。 order by date desc, idorder by date desc, id ascを意味します。あなたの[date]varchar列である場合

select id, [date], [status] 
from tbl 
order by [date] desc, id desc 

、あなたはそれが正しくで注文するdatetime(またはother date and time data type)へcast() or convert()する必要があります。

select id, [date], [status] 
from tbl 
order by cast([date] as datetime) desc, id desc 
+0

はい、それを指摘してくれてありがとう! @GordonLinoff – SqlZim

+0

@SqlZim、ありがとうございました。私は、必要に応じてすべての列にdescキーワードを追加する必要があることを認識しませんでした。これは大いに役立ちます – goofyui

+0

@goofyui – SqlZim

関連する問題