Mysql 针对Min()和分组的SQL查询
我的表名是powerpro,包括以下数据Mysql 针对Min()和分组的SQL查询,mysql,Mysql,我的表名是powerpro,包括以下数据 +-----------+-------------------+---------------+ | record_no | date_time | phase1_energy | +-----------+-------------------+---------------+ | | | | | 1 | 12/01/14 12:00
+-----------+-------------------+---------------+
| record_no | date_time | phase1_energy |
+-----------+-------------------+---------------+
| | | |
| 1 | 12/01/14 12:00 AM | 234 |
| 2 | 12/01/14 01:00 AM | 230 |
| 3 | 12/01/14 02:00 AM | 220 |
| 4 | 12/01/14 03:00 AM | 222 |
| 5 | 13/02/14 12:00 AM | 233 |
| 6 | 13/02/14 01:00 AM | 234 |
| 7 | 13/02/14 02:00 AM | 220 |
| 8 | 13/02/14 03:00 AM | 220 |
| 9 | 14/03/14 12:00 AM | 234 |
| 10 | 14/03/14 01:00 AM | 231 |
| 11 | 14/03/14 02:00 AM | 219 |
| 12 | 14/03/14 03:00 AM | 216 |
+-----------+-------------------+---------------+
我想从每天的最低读数减去第二天的最低读数,得到相位1_能量平衡,从现在起7天
我试过这个:
SELECT a1.* FROM powerpro a1
INNER JOIN
(
select MIN(date_time) as min FROM powerpro
GROUP BY date(date_time)
) a2
ON a1.date_time = a2.min
WHERE date_time BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW() ORDER BY date_time
但只得到每天的最低读数如下
+-----------+-------------------+---------------+
| record_no | date_time | phase1_energy |
+-----------+-------------------+---------------+
| | | |
| 1 | 12/01/14 12:00 AM | 234 |
| 5 | 12/02/14 12:00 AM | 233 |
| 9 | 12/03/14 12:00 AM | 234 |
+-----------+-------------------+---------------+
有人能帮我吗?如果我理解正确的话,谢谢你,对于你想要的每一个日期,都是你能得到的最小时间,以及第二天的最小时间 下面是如何获得“第二天最小时间”编辑:添加两天的能量:
SELECT DATE(a1.date_time) AS `date`, a1.date_time AS this_day_min_read, a1.phase1_energy AS this_day_energy,
a4.date_time AS next_day_min_read, a4.phase1_energy AS next_day_energy
FROM powerpro a1
JOIN (SELECT DATE(date_time) `date`, MIN(date_time) AS `min`
FROM powerpro
GROUP BY DATE(date_time)
) a2 ON a1.date_time = a2.min
JOIN (SELECT DATE(date_time) `date`, MIN(date_time) AS `min`
FROM powerpro
GROUP BY DATE(date_time)
) a3 ON DATE(a1.date_time) = a3.date - INTERVAL 1 DAY
JOIN powerpro a4
ON a4.date_time = a3.min
WHERE date_time BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()
ORDER BY date_time
希望这有帮助 您能同时展示样品输出吗?2012年1月14日?你确定吗?不。这是考虑为上述内容提供适当的DDL和/或SQLFIDLE,以及所需的结果集。是。部分帮助。但我想得到这两个的相位1_能量之差days@Manoj-现在见。祝你好运。但我只需要下一天的能量-这一天的能量被称为根据日期时间进行代码分组