デバイスの読み取り値を保持するデータベースがあります。デバイスから最新の読み取り値を選択できるクエリを作成しようとしています。一見同じように見え、同じ結果が得られると予想される 2 つのクエリがあります。ただし、そうではありません。クエリは次のとおりです。
最初のクエリ:
select max(datetime), reading
from READINGS
where device_id = '1234567890'
2 番目のクエリ:
select datetime, reading
from READINGS
where device_id = '1234567890' and datetime = (select max(datetime)
from READINGS
where device_id = '1234567890')
どちらも読み取り属性の結果が異なります。2 番目は正しい結果を与えるものですが、なぜ最初の結果が異なるのでしょうか?