- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要找到自上次暂停以来几天内没有暂停的时间段。我有下一张 table :
id | user | date
-----------------------
1 | 1 | 16.02.2017
1 | 1 | 15.02.2017
1 | 1 | 14.02.2017
1 | 1 | 13.02.2017
1 | 1 | 10.02.2017
Last pause: 10-13 February
Last period without pause: 4 days
我试图找到像 in this question 这样的日子之间的区别,但结果总是 NULL
。这只是第一部分。对于第二部分,我想使用排名之类的东西,但不知道它是否有效。
我计划将它与 PHP 7 + MySQL 5.6 一起使用。
最佳答案
我用过这个示例:
create table if not exists myt(id int, dd date);
insert into myt values
(1, '2017-01-01'),
(1, '2017-01-02'),
(1, '2017-01-03'),
(1, '2017-01-04'),
(1, '2017-01-08'),
(1, '2017-01-09'),
(1, '2017-01-10');
首先你应该按连续的天数设置一个分区:
select id, dd,
if(@last_date = '1900-01-01' or datediff(dd, @last_date) = -1, @cn := @cn, @cn := +1) consecutive,
@last_date := dd
from
(select @last_date := '1900-01-01', @cn := 0) x,
(select id, dd
from myt
order by dd desc) y
;
返回:
+----+---------------------+-------------+
| id | dd | consecutive |
+----+---------------------+-------------+
| 1 | 10.01.2017 00:00:00 | 0 |
| 1 | 09.01.2017 00:00:00 | 0 |
| 1 | 08.01.2017 00:00:00 | 0 |
+----+---------------------+-------------+
| 1 | 04.01.2017 00:00:00 | 1 |
| 1 | 03.01.2017 00:00:00 | 1 |
| 1 | 02.01.2017 00:00:00 | 1 |
| 1 | 01.01.2017 00:00:00 | 1 |
+----+---------------------+-------------+
设置分区后,获取每个分区的 MAX 和 MIN 日期:
select id, min(dd) as ini, max(dd) as fin, datediff(max(dd), min(dd)) as Days
from (
select id, dd,
if(@last_date = '1900-01-01' or datediff(dd, @last_date) = -1, @cn := @cn, @cn := +1) consecutive,
@last_date := dd
from
(select @last_date := '1900-01-01', @cn := 0) x,
(select id, dd
from myt
order by dd desc) y
) z
group by consecutive
;
结果:
+----+---------------------+---------------------+------+
| id | ini | fin | Days |
+----+---------------------+---------------------+------+
| 1 | 08.01.2017 00:00:00 | 10.01.2017 00:00:00 | 2 |
+----+---------------------+---------------------+------+
| 1 | 01.01.2017 00:00:00 | 04.01.2017 00:00:00 | 3 |
+----+---------------------+---------------------+------+
关于php - 在 MySQL 中查找自上次暂停以来的时间段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42269341/
之前看到一些类似的问题,想弄清楚。 在this article ,据说异步调用“没有线程”。 然而,in another one ,据说 Here, however, we’re running th
我为我公司的平板电脑(SAMSUNG Galaxy Tab Active2)开发了一个简单的软件,自上周五(2018 年 11 月 23 日)以来,它无法正常工作。我检查了该应用程序的所有功能,其中有
我正在使用 hadoop map-reduce 作业进行一些文本处理。我的工作已完成 99.2%,并停留在上一个 map 工作上。 map 输出的最后几行如下所示。上次发生此问题时,我尝试打印出从 m
上次 Ubuntu 更新后有人对 Docker 有疑问吗?我有 2 个由 docker-compose 在 ubuntu18.04 中运行的项目。两个项目都运行良好,但在 *.yml 中进行 0 次更
SQL Developer 在表中显示公共(public)同义词的创建和上次 DDL 时间: CREATED 15-AUG-09 LAST_DDL_TIME 15-AUG-09 O
我正在使用带有以下插件的 mavenized 库项目: com.jayway.maven.plugins.android.generation2
我正在使用 Jssor Slider 作为轮播。在 Google Chrome 上次更新到版本 45.0.2454.85 之前,它一直运行良好。想法是它不显示图像。目前,它们位于标签中,可在 Safa
我是一名优秀的程序员,十分优秀!