单表内SQL时间差

2024-02-13


我有一个包含用户登录数据的 MySQL 表。



user |  date               | type
-----+---------------------+------
1    | 2011-01-05 08:00:00 | login
1    | 2011-01-06 09:00:00 | login
1    | 2011-01-06 10:00:00 | logout
1    | 2011-01-06 09:50:00 | login
  

鉴于上表,我想通过添加一个名为“持续时间”的新单元格来计算注销日期和上次登录日期之间的时间差。例如。注销日期为“2011-01-06 10:00:00”;上次登录日期为“2011-01-06 09:50:00”。

结果应该看起来像这样。 type=login 的行不应具有持续时间值。



user |  date               | type   | duration
-----+---------------------+--------+----------
1    | 2011-01-05 08:00:00 | login  | -
1    | 2011-01-06 09:00:00 | login  | -
1    | 2011-01-06 10:00:00 | logout | 10min
1    | 2011-01-06 09:50:00 | login  | -
  

提前致谢,
mawo


SELECT x.*, TIMEDIFF(x.logout_date, x.login_date) as duration
FROM
(
SELECT a.user_id, a.`date` as logout_date, 
(SELECT MAX(b.`date`) FROM table1 b WHERE b.`date` <a.`date` 
and b.user=a.user and b.type = 'login') as login_date    
FROM table1 a WHERE a.type ='logout'
)x
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单表内SQL时间差 的相关文章

  • InnoDB如何存储字符列?

    这个问题仅解决 短 的问题CHAR and VARCHAR列存储在 InnoDB 表中 Does a CHAR 10 列正好占用 10 个字节吗 尾随空格会发生什么情况 对于每个字符需要超过 1 个字节的字符集怎么办 如何VARCHAR 1
  • SQL 选择另一列中具有最大值的列

    我有一个看起来像这样的表 Name Group Value A 1 0 B 1 2 C 1 5 D 2 6 E 2 0 F 3 3 我想选择每组中具有最大值的名称 例如 有 3 个组 因此结果将是 Name C because it has
  • 如何从 mysql 数据库中提取数据并使用 D3.JS 进行可视化?

    我有一个数据库MySQL我想在其中可视化D3 JS 为了做到这一点 首先我想parse中的数据JSON格式 然后编写一个基本代码 从数据库中提取数据并使用D3 JS 我环顾四周 但找不到我想要的东西 因为我是新手D3 JS 我怎样才能做到这
  • postgresql to_json() 函数转义所有双引号字符

    我编写了一个 plpgsql 脚本 它在字符串中生成一个 json 对象数组 但是在我使用 to json 方法将带有该字符串的变量传递给它之后 它返回一个带双引号的结果 并且每个双引号字符都被转义 但我需要原样的字符串 jsonResul
  • 如何将子表的删除级联到父表?

    我准备了a fiddle这说明了问题 http sqlfiddle com 15 e25c5 2 CREATE TABLE parent parent id integer primary key CREATE TABLE child ch
  • ORACLE SQL 中的 MAX()

    我有一个表 存储已完成的维护任务的记录列表以及完成的日期和时间 我正在尝试执行子查询来提取具有最新日期的每个任务的记录 我的SQL语句是 SELECT ENGINEERING COMPLIANCE EO AS EO ENGINEERING
  • 用于 Mysql 查询的 FLASK HTML 字段

    你好 Stackoverflow 社区 我是 FLASK 的新手 但是虽然学习曲线非常陡峭 但有一个项目我无法理解 我使用一个非常简单的 HTML 搜索表单 用户在其中输入城市名称 此输入将传递到 Mysql 查询并将输出返回到表中 一切正
  • Laravel 5.2 中使用多个 MySQL 数据库连接查询关系存在

    我正在处理以下情况 我有两个模型 一个Employee with id and name字段和一个Telephone with id employee id and flag字段 还有一个一对多关系在这两种模型之间 即一个员工可能拥有多部电
  • 如何在我的查询中使用日期格式?

    这适用于 phpmyadmin 但是当我在代码上使用时给我一个错误 错误说 解析错误 语法错误 意外的 我的语法有什么问题 gt
  • 我们如何从 getschemaTable 获取列大小和数据类型?

    我是一个新手 我试图从数据库中的某个表中检索列名称 大小 最大长度 和数据类型 当我执行以下代码时 希望它显示所有列类型和名称 我没有找到如何引用 Size 我使用了 ColumnSize 但据说 DataColumn 不包含此方法的定义
  • 从 LEFT OUTER JOIN 中删除重复项

    我的问题非常类似于限制 LEFT JOIN https stackoverflow com questions 757957 restricting a left join 有一个变体 假设我有一个表 SHOP 和另一个表 LOCATION
  • 更改 MySQL Workbench 上的默认字符集

    我正在尝试使用连接到我的 MYSQL 数据库utf8mb4字符集 请注意 数据库字符集的全局设置已经是 utf8mb4 我可以使用 CLI 轻松完成此操作 如下所示 mysql h myhostname u myuser p default
  • 在 SQLite 数据库的特定位置插入一行

    我正在 SQLite Manager 中创建数据库 并且错误地忘记提及一行 现在 我想在中间手动添加一行 在其下方 其余的自动增量键应自动增加 1 我希望我的问题很清楚 Thanks 您不应该关心键值 只需在末尾附加行即可 如果您确实需要这
  • MySQL Workbench:如何将 mysql 数据库导出到 .sql 文件?

    我需要将 mysql 工作台中的数据库导出到文件 sql 该怎么办 在 MySql Workbench 版本 8 0 中 您只需按照以下步骤操作即可 Go to Server tab Go to 数据库导出 这会打开类似这样的东西 在中选择
  • MySQL - 如何将列逆透视到行?

    ID a b c 1 a1 b1 c1 2 a2 b2 c2 如何将行重新组织为ID columntitle value 1 a1 a 1 b1 b 1 c1 c 2 a2 a 2 b2 b 2 c2 c 你正在尝试unpivot数据 My
  • 当我在 PHP 中将 print_r() 应用于数组时,为什么会得到“Resource id #4”? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • golang sql 驱动程序的准备语句

    关于golang的sql driver 下面两条语句有什么区别 store DB is sql DB type rows err store DB Query SQL args err nil defer rows Close and st
  • 为什么这个触发器会失败?它说无效标识符

    CREATE MATERIALIZED VIEW ORDERS MV BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND AS SELECT FROM ORDERS CREATE OR REPLACE TR
  • PHP/MySQL - 在数据库中存储数组

    我正在开发一个 PHP 应用程序 它需要将各种设置存储在数据库中 客户经常询问是否可以添加或更改 删除某些内容 这导致了表格设计出现问题 基本上 我有很多布尔字段 它们只是指示是否为特定记录启用了各种设置 为了避免再弄乱表格 我正在考虑将数
  • 我是否需要 SQL Server 数据库项目中链接服务器的数据库引用?

    在我的数据库项目中 我添加了对链接服务器的引用 当我在视图中使用此链接服务器并尝试构建数据库项目时 SSDT 报告错误 因为它无法理解对链接服务器上引用的任何架构的引用 LinkedServer DB1 dbo Table1 上面的代码会返

随机推荐

  • 如何在没有 MANIFEST.MF 的情况下运行 Java .jar?

    是否可以运行不包含的Java应用程序MANIFEST MF文件 当然还有静电main方法 只是缺少清单文件 并且该应用程序依赖于几个外部 jar files 如果这可能的话 该怎么做 您可以指定要从命令行运行的类 java cp yourJ
  • Numpy 数组切片返回切片数组和相应的数组索引

    我正在尝试从一个数组生成两个 numpy 数组 一个是原始数组的切片 另一个表示可用于查找生成的值的索引 我可以解释这一点的最好方法是通过示例 import numpy as np original np array 5 3 7 3 2 8
  • PostgreSQL:文本到 JSONB - 总大小超过最大值

    我已在文本字段中导入 JSON 数组 并希望将其转换为 JSONB 我收到以下错误 SQL错误 54000 错误 jsonb数组元素的总大小超过最大值268435455字节 错误 jsonb 数组元素的总大小超过最大值 268435455
  • 激活负颜色后图形奇怪地滑动

    我正在使用 Highcharts 在移动图表中显示一些实时变化的数据 每秒添加一个点 就像更新 highcharts 网站上的样条线示例 http www highcharts com demo dynamic update 为了清楚地看到
  • mysql 使用 unix_timestamp 变量进行分区

    鉴于这种 delimiter create procedure setup begin declare d datetime set d rounddate now create table s time req id int not nu
  • Django 比较模型实例是否相等

    据我所知 在单例情况下 您可以执行以下操作 spam eggs and if spam and eggs是具有所有相同属性值的同一类的实例 它将返回True 在 Django 模型中 这是很自然的 因为模型的两个单独实例永远不会相同 除非它
  • char** 与 char* c[] 访问字符串数组

    为什么我不能将 char 指向 C 字符串数组 int main int argc char argv char c1 Hey Hello printf s c1 1 works fine vs int main int argc char
  • 使用 PHP SplFileObject 和 READ_CSV 标志时如何删除多余的行?

    使用 PHP 迭代 csv 文件时Spl文件对象 http php net manual en class splfileobject php和READ CSV标记我得到一个额外的行null价值 有没有办法自动删除这一行 file new
  • 如何在作业后脚本中使用 JUnit XML 格式获取 Jenkins 中运行的测试数量?

    有没有什么方法可以获取 Jenkins 在 Post Job 脚本中执行 或通过 的测试数量 例如 将此号码发送到 Github Status API 我没有看到任何方法可以直接访问这些号码Publish JUnit test result
  • 如何在MySQL中实现多对多的层次结构

    这是我的问题的后续内容 如何在MySQL中记录记录的顺序集合 https stackoverflow com questions 9610942 how to record sequential collections of records
  • Android ListView 禁用标题视图上的点击和上下文菜单?

    我使用设置标题视图getListView addHeaderView view 目前 在点击和上下文菜单方面 它的处理方式与所有其他列表行相同 如何使标题视图更像标题 或者 我怎样才能在上面添加一些内容ListView这不属于ListVie
  • 没有 scipy 的 numpy 中的批量卷积 2d?

    我有一批b m x n图像存储在数组中x 和一个卷积滤波器f大小的p x q我想应用于每个图像 然后使用总和池并存储在数组中y 在批次中 即all np allclose y i j k x i j j p k k q f sum for
  • 插入新实例时不执行实体框架核心延迟加载

    我有两节课 Campaign它引用了一个类客户 public class Campaign Key Required public int id get set public int CustomerId get set ForeignKe
  • 碰撞时阻止移动

    我正在 XNA 中开发 2d 游戏 目前正在上物理课 我当前的任务是在一个物体与另一个物体碰撞时阻止它 我让我的游戏在两个物体发生碰撞时调用此函数 public void BlockMovement gameObject target yo
  • 单击日历时使用 fullcalendar 创建事件(rails)

    当用户单击日历的任何部分时 如何创建事件 然后将其作为新事件存储在数据库中 我知道你必须使用 select function start end allDay 来获取 开始 和 结束 时间 但是当我得到这些数据后 如何将其传递到数据库呢 T
  • Rails 控制台添加 nil 而不是值

    目前 当尝试通过 Rails 控制台或种子数据将新用户添加到我的用户表时 一切都为零 在我的种子文件中 我正在运行 u1 User create from email gt email protected cdn cgi l email p
  • 捕获正则表达式匹配以从查找表中进行替换

    我正在 PowerShell 中编写一个语言解释器 该语言是 PILOT 对于那些可能感兴趣的人 并且我已经达到了实现变量替换的地步 变量名由以下任一组成 or a 后跟该集中最多十个字符 A Za z0 9 但是 如果变量名带有前缀 它应
  • Codeigniter 中的注销功能

    我开始在我的项目中使用 codeigniter 我的网站有用户身份验证系统 我看过 nettuts 的视频以获取登录信息 我很困惑为什么注销不能正常工作 我的登录控制器中有以下注销功能 function logout this gt ses
  • Python 在 Windows 8.1 64 位上错误地检测到 32 位系统

    PS C Users gt C Python27 python exe Python 2 7 15 v2 7 15 ca079a3ea3 Apr 30 2018 16 30 26 MSC v 1500 64 bit AMD64 on win
  • 单表内SQL时间差

    我有一个包含用户登录数据的 MySQL 表 user date type 1 2011 01 05 08 00 00 login 1 2011 01 06 09 00 00 login 1 2011 01 06 10 00 00 logou