- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为“powerpro”的表,包括一天中每一分钟记录的“power”数据如下:(假设一个月记录包括)
+---------------------+---------------+---------------+---------------+
| date_time | phase_1_power | phase_2_power | phase_3_power |
+---------------------+---------------+---------------+---------------+
| 2014/12/01 00:00:00 | 73.0767 | -68.2627 | -73.0767 |
| 2014/12/01 00:01:00 | 73.0293 | -68.3134 | -73.0293 |
| 2014/12/01 00:02:00 | 72.9819 | -68.3641 | -72.9819 |
| 2014/12/01 00:03:00 | 72.9345 | -68.4148 | -72.9345 |
| 2014/12/01 00:04:00 | 72.8871 | -68.4655 | -72.8871 |
| 2014/12/02 00:00:00 | 72.8397 | -68.5162 | -72.8397 |
| 2014/12/02 00:01:00 | 72.7923 | -68.5669 | -72.7923 |
| 2014/12/02 00:02:00 | 72.7449 | -68.6176 | -72.7449 |
| 2014/12/02 00:03:00 | 72.6975 | -68.6683 | -72.6975 |
| 2014/12/02 00:04:00 | 72.6501 | -68.7119 | -72.6501 |
| 2014/12/03 00:00:00 | 72.6027 | -68.7697 | -72.6027 |
| 2014/12/03 00:01:00 | 72.5553 | -68.8204 | -72.5553 |
| 2014/12/03 00:02:00 | 72.5079 | -68.8711 | -72.5079 |
| 2014/12/03 00:03:00 | 72.4605 | -68.9218 | -72.4605 |
| 2014/12/03 00:04:00 | 72.4131 | -68.9725 | -72.4131 |
+---------------------+---------------+---------------+---------------+
我想得到平衡结束时间 UNIX_TIMESTAMP() 值 - 开始时间 UNIX_TIMESTAMP() 值 AND结束时间=开始时间UNIX_TIMESTAMP()值+下一个第7天的UNIX_TIMESTAMP()值
我试过这个:
SELECT UNIX_TIMESTAMP(a1.date_time) AS time_reff, a1.phase_1_power AS ph1, a1.phase_2_power AS ph2, a1.phase_3_power AS ph3
FROM powerpro a1
JOIN (SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY date_time
)a2 ON a1.date_time = a2.min
JOIN (SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY date_time
) a3 ON a1.date_time = a3.time - INTERVAL 7 DAY
WHERE a1.date_time BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW() ORDER BY a1.date_time
但只得到空结果。
谁能帮帮我?谢谢
最佳答案
删除 WHERE
部分:它将您的结果集限制为仅那些开始日期在 NOW()
7 天内的条目。同时,由于 JOIN
,您只输出间隔 7 天的开始时间 - 结束时间对。结合起来,这意味着唯一可以输出的行是结束时间为 NOW()
且开始时间为 DATE_SUB(NOW(), INTERVAL 7 DAY)
.
当您删除 WHERE
部分时,您将获得所有间隔 7 天的开始时间 - 结束时间对。
更新 1:
由于这仍然不起作用,让我们尝试逐个重建此查询。
首先试试这个:
SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY DATE(date_time)
那应该给出每天最早的时间戳。
更新 2:
现在尝试:
SELECT UNIX_TIMESTAMP(a1.date_time) AS time_reff, a1.phase_1_power AS ph1, a1.phase_2_power AS ph2, a1.phase_3_power AS ph3
FROM powerpro a1
JOIN (SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY DATE(date_time)
)a2 ON time_reff = a2.min
这应该给出每天最早时间戳的所有阶段。
更新 3:
SELECT UNIX_TIMESTAMP(a1.date_time) AS time_reff, a1.phase_1_power AS ph1, a1.phase_2_power AS ph2, a1.phase_3_power AS ph3
FROM powerpro a1
JOIN (SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY DATE(date_time)
)a2 ON UNIX_TIMESTAMP(a1.date_time) = a2.min
JOIN (SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY DATE(date_time)
)a3 ON CAST(a1.date_time AS DATETIME) = DATE_SUB(a3.time, INTERVAL 1 DAY)
更新 4:
SELECT UNIX_TIMESTAMP(a1.date_time) AS time_reff, a1.phase_1_power AS ph1, a1.phase_2_power AS ph2, a1.phase_3_power AS ph3
FROM powerpro a1
JOIN (SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY DATE(date_time)
)a2 ON UNIX_TIMESTAMP(a1.date_time) = a2.min
JOIN (SELECT UNIX_TIMESTAMP(date_time) time, MIN(UNIX_TIMESTAMP(date_time)) AS min
FROM powerpro
GROUP BY DATE(date_time)
)a3 ON UNIX_TIMESTAMP(a1.date_time) = a3.min - 86400
关于mysql - 两个 Unix_Timestamp 引用的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27525247/
使用 Spark 1.6.2 并尝试查找字段是否包含空字符串或日期值。 Spark documentation解释说,如果 unix_timestamp() 函数在失败时返回 null,那么预期会出现
我正在尝试运行此功能以获取Hive中的当前日期,但出现以下错误: Error while compiling statement: FAILED: SemanticException No valid
简单问题: 我有 2 个 Mysql 服务器,我在两个服务器中运行此查询: select unix_timestamp('0000-00-00 00:00:00'); 结果: 在服务器 1 上: my
来自reference : Convert time string with given pattern (‘yyyy-MM-dd HH:mm:ss’, by default) to Unix tim
除了从与帖子相关的评论中获取最大日期之外,我有一个查询运行良好。 所以我想做的是: 关系:1 个帖子到很多评论 使用 max() 获取 UNIX_TIMESTAMP() 中每个帖子的“最新评论日期”
当我想在查询中获取 UNIX_TIMESTAMP() 时,会发生以下情况: 代码: $this->db->where(array('is_active' => 1, 'time' => 'UNIX_T
我正在尝试从数据库中提取数据,并使用 UNIX_TIMESTAMP 按 DATE 组织数据,但它似乎无法正常工作。这只是我失败的尝试之一。我遇到的问题是我试图将表中的 Field 转换为 UnixTi
我有一个php函数使用mysql查询UNIX_TIMESTAMP()来创建唯一的事务号,但我发现如果该函数在同一时间循环,它将为情况1生成相同的事务号,使用情况2则不是大循环的好方法。 1.我使用交易
我正在对 mysql 数据库发出以下查询,但它没有按照我的预期工作:- SELECT UNIX_TIMESTAMP(exprTime) FROM config exprTime 的类型是日期时间。表包
我一直在数据库中使用 CURRENT_TIMESTAMP 作为条目,但现在希望更改为 unix 时间戳。 如此处所示,我有数据,但对于每一行,我想使用 UNIX_TIMESTAMP() 并将其返回的值
我已经全部查看过了,但似乎我所需的编码并没有在任何地方得到解决。请注意,“间隔”变量对我不起作用。请使用当前代码,该代码可以很好地显示当前周的所有日期。 下面的代码将本周的所有日期拆分出来,但如何调整
这会变成 NULL,为什么? select unix_timestamp(addtime(date(now()), time(from_unixtime(1426705199)))) 由于某种原因,它
我对分区主题还很陌生,并且由于数据的大量积累而出现了必要性。 嗯,基本上它是一个访问控制系统,目前有20个部门,每个部门大约有100个用户。系统记录了进入和退出的日期和时间(from_date/to_
我有一个表,其中有一列名为 date_time。它包含时间的 unix 编号。像这样: // mytable +----+------------+ | id | date_time | +----
大家好,我有一个关于 UNIX_TIMESTAMP() 的问题:当我用它来检查另一个 UNIX_TIMESTAMP() 时,我从来没有得到我期望的结果. 这里以一个小查询为例: SELECT UN
在我的网站上,我制作了一个自动发票系统。它将从特定月份为特定用户生成发票。您可以选择用户、月份和年份,然后单击生成。 但是,在我的 MYSQL 数据库中,我用 Unix 时间戳存储了用户订购的产品日期
我做了一个测试。这是一个 innodb 表: CREATE TABLE `test_UNIX_TIMESTAMP` ( `id` INT(11) NOT NULL AUTO_INCREMENT,
mysql 中的 UNIX_TIMESTAMP 函数有问题。 设置:我在我的本地 Windows 机器上做一个 wordpress 站点,并定期将我的更新上传到 ubuntu 服务器(page.ly)
在我的 php5 代码中,我想使用 UNIX_TIMESTAMP 函数将日期时间转换为 unix 时间戳,而不使用 php 代码进行转换,因为我相信这种方式更快,但是你如何从行集中获取 unix 时间
我得到了日期,像这样存储在 MySQL 列中:09-11-2012(格式为 DD/MM/YYYY),但是当我这样做时: SELECT UNIX_TIMESTAMP(t.date) FROM table
我是一名优秀的程序员,十分优秀!