dro*_*oid 3 mysql aggregate-functions
尝试每天选择最后一行。
这是我的(简化的,实际表中有更多记录)表:
+-----+-----------------------+------+
| id | datetime | temp |
+-----+-----------------------+------+
| 9 | 2017-06-05 23:55:00 | 9.5 |
| 8 | 2017-06-05 23:50:00 | 9.6 |
| 7 | 2017-06-05 23:45:00 | 9.3 |
| 6 | 2017-06-04 23:55:00 | 9.4 |
| 5 | 2017-06-04 23:50:00 | 9.2 |
| 4 | 2017-06-05 23:45:00 | 9.1 |
| 3 | 2017-06-03 23:55:00 | 9.8 |
| 2 | 2017-06-03 23:50:00 | 9.7 |
| 1 | 2017-06-03 23:45:00 | 9.6 |
+-----+-----------------------+------+
Run Code Online (Sandbox Code Playgroud)
我想选择 id = 9、id = 6 和 id = 3 的行。
我试过这个查询:
SELECT MAX(datetime) Stamp
, temp
FROM weatherdata
GROUP
BY YEAR(DateTime)
, MONTH(DateTime)
, DAY(DateTime)
order
by datetime desc
limit 10;
Run Code Online (Sandbox Code Playgroud)
但是 datetime 和 temp 不匹配。
亲切的问候
这是一种方法,它获取MAX每天的日期,然后在INNER查询中使用它来获取其他字段:
SELECT *
FROM test
WHERE `datetime` IN (
SELECT MAX(`datetime`)
FROM test
GROUP BY DATE(`datetime`)
);
Run Code Online (Sandbox Code Playgroud)
这是SQL Fiddle。
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |