1

次のようなSQLテーブルがあります。

日付温度露点湿度
10/12/15 5.1 2.4 57
11/12/15 4.1 5.8 69
12/12/15 20.6 3.6 56
13/12/15 13.0 2.5 21
14/12/15 5.6 13.6 15
15/12/15 5.1 2.4 56

たった 1 つの SQL クエリでこれを出力できることを知りたいです。つまり、データ列ごとに、発生日の最小値と最大値を取得します (例として、最小値が 4.1 が 11/12/15 に、最大値が 20.6 が 12/12/15 にあったことを知りたいです)。

1 つの SQL クエリでこれを行うことは可能でしょうか? 具体的には、出力形式を次のようにします。

日付 dataName dataValue
11/12/15 一時分 4.1
12/12/15 温度最大 20.6
14/12/15 湿度-最小 15
11/12/15 湿度-最大 69
4

3 に答える 3

0

単一のクエリで簡単に実行できます。

SELECT Date, max(temp), min(temp), max(dewpoint), min(dewpoint), etc...
FROM yourtable
GROUP BY Date

最小/最大の複数列の結果を取得します。しかし、MySQL では、結果が単一の列/複数行の結果になる「ピボットを解除」することは困難です。この種の変換は、クライアント側のコードで行う方が適切です。

于 2015-01-16T21:30:46.610 に答える