我有一個充滿了天氣數據的數據庫......特別是日期,最高溫度,最低溫度和超過100年的每日降雨量。我試圖找出每一天的最高溫度以及它在整個100多年中發生的具體日期。在MySQL中多年尋找一個月中每天的MAX值
我的表是建立一個類似下面...
+-------+------------+------+------+------+
| id | date | thi | tlo | rain |
+-------+------------+------+------+------+
| 42856 | 2016-01-01 | 49 | 39 | 0.00 |
| 42857 | 2016-01-02 | 51 | 38 | 0.00 |
| 42858 | 2016-01-03 | 60 | 37 | 0.00 |
| 42859 | 2016-01-04 | 54 | 32 | 0.00 |
| 42860 | 2016-01-05 | 47 | 32 | 0.00 |
+-------+------------+------+------+------+
5 rows in set (0.01 sec)
我想找到了一年的每一天,並在其中發生的日期,最大(THI)。這些數據可以追溯到1899年,因此每年有1月117日的數據庫等。
我想出迄今以下...
select date, max(thi),
-> DAY(date)
-> from dfw where MONTH(date)='01'
-> group by DAY(date);
+------------+----------+-----------+
| date | max(thi) | DAY(date) |
+------------+----------+-----------+
| 1899-01-01 | 83 | 1 |
| 1899-01-02 | 78 | 2 |
| 1899-01-03 | 84 | 3 |
| 1899-01-04 | 81 | 4 |
| 1899-01-05 | 82 | 5 |
| 1899-01-06 | 79 | 6 |
| 1899-01-07 | 83 | 7 |
| 1899-01-08 | 88 | 8 |
| 1899-01-09 | 82 | 9 |
| 1899-01-10 | 79 | 10 |
| 1899-01-11 | 83 | 11 |
| 1899-01-12 | 82 | 12 |
| 1899-01-13 | 78 | 13 |
| 1899-01-14 | 79 | 14 |
| 1899-01-15 | 80 | 15 |
| 1899-01-16 | 81 | 16 |
| 1899-01-17 | 79 | 17 |
| 1899-01-18 | 80 | 18 |
| 1899-01-19 | 84 | 19 |
| 1899-01-20 | 83 | 20 |
| 1899-01-21 | 79 | 21 |
| 1899-01-22 | 85 | 22 |
| 1899-01-23 | 88 | 23 |
| 1899-01-24 | 82 | 24 |
| 1899-01-25 | 84 | 25 |
| 1899-01-26 | 82 | 26 |
| 1899-01-27 | 81 | 27 |
| 1899-01-28 | 85 | 28 |
| 1899-01-29 | 84 | 29 |
| 1899-01-30 | 86 | 30 |
| 1899-01-31 | 93 | 31 |
+------------+----------+-----------+
31 rows in set (0.01 sec)
這讓我每一天在一月,這是很好的最大...但我需要在它發生的日期。出於某種原因,我得到的是1899年。
例如在1月31日...最大(thi)是93但它發生在1911-01-31。也有多少年可能發生最大(th)。在1月30日...最大(thi)是86發生在1906-01-30和1994-01-30。
有沒有辦法在MySQL中做到這一點,或者我只是運氣不好?提前致謝!
非常感謝!這真的有幫助!仍嘗試學習一點,但我真的很感謝幫助! –