Mysql 针对Min()和分组的SQL查询

Mysql 针对Min()和分组的SQL查询,mysql,Mysql,我的表名是powerpro,包括以下数据 +-----------+-------------------+---------------+ | record_no | date_time | phase1_energy | +-----------+-------------------+---------------+ | | | | | 1 | 12/01/14 12:00

我的表名是powerpro,包括以下数据

+-----------+-------------------+---------------+
| 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-现在见。祝你好运。但我只需要下一天的能量-这一天的能量被称为根据日期时间进行代码分组