单表内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时间差 的相关文章

  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将ElasticSearch与MySQL集成?

    在我的一个项目中 我计划将 ElasticSearch 与 MySQL 结合使用 我已经成功安装ElasticSearch 我可以单独管理ES中的索引 但我不知道如何用 MySQL 实现同样的功能 我读过一些文件 但我有点困惑 没有明确的想
  • 使用 ADODB 连接从关闭的工作簿中检索数据。某些数据被跳过?

    我目前正在编写一些代码 可以通过 ADODB 连接访问单独的工作簿 由于速度的原因 我选择了这种方法而不是其他方法 下面是我的代码 Sub GetWorksheetData strSourceFile As String strSQL As
  • MySQL 查询到 CSV [重复]

    这个问题在这里已经有答案了 有没有一种简单的方法来运行MySQL查询来自linux命令行并以csv格式输出结果 这就是我现在正在做的事情 mysql u uid ppwd D dbname lt lt EOQ sed e s g tee l
  • SELECT 语句会受到 SQL 注入攻击吗?

    实际上有2个问题 我知道我必须尽可能多地使用存储过程 但我想知道以下内容 A 我可以从 SELECT 语句 例如 Select from MyTable 获得 SQL 注入攻击吗 B 另外 当我在 ASP NET 中使用 SQLDataSo
  • 为表中的每个组选择前 N 行

    我面临一个非常常见的问题 即 为表中的每个组选择前 N 行 考虑一个表id name hair colour score列 我想要一个结果集 对于每种头发颜色 都能得到前 3 名得分手的名字 为了解决这个问题 我得到了我所需要的Rick O
  • MyBatis:在一个查询中通过注释收集

    我有一个 xml 映射器 一个选择映射器和一个结果映射器 它工作没有问题 但我想使用注释 我的映射器
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 同一配置文件上的两个不同提供程序

    我在用着实体框架 6 1 0 I have 2 家提供者 MysqlClient 和 SQLServerCE 我需要创建2个不同的DBContext 这迫使我创造2个配置类因为mysql有一些不同的东西 但是当我初始化应用程序时 Datab
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun

随机推荐

  • 如何在没有 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