0

内部結合を実行するクエリの作成に問題があります。

私のデータベース テーブルには、列 Date、HighTemperature、LowTemperature があります。私が望んでいるのは、月ごとの最高気温などを計算し、これらが同時に発生した日付を取得することです。以下のクエリを使用すると、これは正常に機能します。

SELECT ds.Date, 
    MONTH(ds.Date) AS Month, 
    ds.HighTemperature 
FROM WeatherData.DailyStats ds 
INNER JOIN (SELECT MONTH(Date) AS Month, 
        Date, 
        MAX(HighTemperature) AS HighTemperature 
    FROM WeatherData.DailyStats GROUP BY Month) ds2 
    ON MONTH(ds.Date) = MONTH(ds2.Date) AND ds.HighTemperature = ds2.HighTemperature 
ORDER BY MONTH(ds.Date), ds.DATE ASC

これにより、その年の各月に 1 つずつ、合計 12 行が得られます。各行には、月番号、その月に記録された最高気温、およびそれが発生した日付が含まれています。

成功していないのは、少しトリッキーなことをしようとしたときです.HighTemperatureで直接クエリを実行するのではなく、毎月の最高気温範囲を見つけたい(HighTemperature - LowTemperature) AS TemperatureRange.

これを行うためにクエリを変更するにはどうすればよいですか?

4

1 に答える 1