2016-04-08 25 views
0

私はhistoryInformationテーブルから2番目に高いhistNumberを取得しようとしています。現在のところ、私は最初に最も高いhistNumberを持つ2番目に高い日付を取得します。このクエリを変更して、次に高いhistNumberを取得するにはどうすればよいですか。今日の情報を含む昨日の日付

select id, max(histDate) yd, histNumber 
from historyinformation 
where histDate < (select max(histDate) from historyinformation) 
group by id; 

答えて

0
SELECT histDate, histNumber FROM historyinformation 
WHERE histNumber < (select max(histNumber)) 
ORDER BY histNumber DESC 
LIMIT 1 

あなたは自分のWHERE句で間違ったことを比較しています。 histNumbersが最大値より小さいところで選択範囲をフィルタリングします。これをDESCで指定して1を制限すると、2番目に高いhistNumberが得られます

+0

結果には、昨日のhistDateとhistNumberの両方が含まれている必要があります。 –

+0

*の代わりにこれらのフィールドを追加するだけです。私は答えを更新しました –

関連する問題