如何将一列拆分为按日期排序的多列

2023-12-29

当我尝试以正确的格式获取数据库数据时遇到很多问题。 我正在寻找按天按列打印数据库输出的方法。

我的数据库有两列,一列带有timestamp格式如下YYYY-MM-DD H:M另一列包含与速度相关的数据。

我需要按天将速度数据拆分为列。

或多或少,我的数据库是这样的(每天有288条数据):

 Timestamp          |   Speed

2014-05-01 00:03:00 |   328.71    
2014-05-01 00:18:00 |   331.31    
2014-05-01 00:33:00 |   193.83        
2014-05-02 00:03:00 |   321.21    
2014-05-02 00:18:00 |   290.39    
2014-05-02 00:33:00 |   283.43

我正在寻找的是:

Hour    | 2014-05-01 | 2014-05-02

00:03:00 | 328.71    | 321.21     
00:18:00 | 331.31    | 290.39    
00:33:00 | 193.83    | 283.43

首先,我尝试以静态的方式进行,但是当我得到它时,我会做动态的。

我所做的查询是

SELECT 
(CASE WHEN Timestamp>='2014-05-01' AND Timestamp<='2014-05-03' 
    THEN date_format(Timestamp,'%H:%i') ELSE 0 END) AS 'Hour', 
(CASE WHEN Timestamp>='2014-05-01' AND Timestamp<='2014-05-02' 
    THEN speed ELSE 0 END) AS '2014-05-01', 
(CASE WHEN Timestamp>='2014-05-02' AND Timestamp<='2014-05-03' 
    THEN velocidad ELSE 0 END) AS '2014-05-02' 
FROM `db_speed` 
WHERE Timestamp>='2014-05-01' AND Timestamp<='2014-05-10

通过这个查询,我得到这样的结构:

Hour     | 2014-05-01 | 2014-05-02

00:03:00 | 328.71     | 0     
00:18:00 | 331.31     | 0    
00:33:00 | 193.83     | 0    
00:03:00 | 0          | 321.21     
00:18:00 | 0          | 290.39
00:33:00 | 0          | 283.43

你很接近,你只是失踪了group by和聚合函数。

SELECT 
(CASE WHEN Timestamp>='2014-05-01' AND Timestamp<='2014-05-03' 
    THEN date_format(Timestamp,'%H:%i') ELSE 0 END) AS 'Hour', 
MAX((CASE WHEN Timestamp>='2014-05-01' AND Timestamp<='2014-05-02' 
    THEN speed ELSE NULL END)) AS '2014-05-01', 
MAX((CASE WHEN Timestamp>='2014-05-02' AND Timestamp<='2014-05-03' 
    THEN speed ELSE NULL END)) AS '2014-05-02' 
FROM `db_speed` 
WHERE Timestamp>='2014-05-01' AND Timestamp<='2014-05-10'
GROUP BY `Hour`
  • 看到它在现场工作sqlfiddle http://sqlfiddle.com/#!2/8ef9fd/1/0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将一列拆分为按日期排序的多列 的相关文章

  • 计算 mysql 数据库行数的最佳方法

    在遇到 mysql 查询加载时间慢的问题后 我现在正在寻找计算行数的最佳方法 我曾经愚蠢地使用过mysql num rows 函数来做到这一点 现在意识到这是最糟糕的方法 我实际上正在制作一个分页来用 PHP 制作页面 我找到了几种计算行数
  • Hibernate + MySQL + rewriteBatchedStatements=true

    我有以下 Hibernate 配置
  • Ruby 中的 DateTime.parse() 是否依赖于语言环境?

    我想知道以下示例的输出 解析时01 03 它会被解决为Mar 1st or Jan 3rd Ruby 不依赖于语言环境 因为红宝石是一个服务器端语言而不是客户端像 JavaScript 一样的语言 Ruby 使用系统时钟yourWeb 应用
  • 在上下文中提取搜索字符串

    我正在尝试执行 MySQL 查询 在上下文中提取搜索字符串 因此 如果搜索是 mysql 我想从 body 列返回类似的内容 下载后只需几分钟MySQL安装程序即可使用 这就是我现在得到的 但它不起作用 因为它只是从正文字段中获取前 20
  • 如何将 MySQL 查询输出保存到 Excel 或 .txt 文件? [复制]

    这个问题在这里已经有答案了 如何将 MySQL 查询的输出保存到 MS Excel 工作表 即使只能将数据存储在 txt文件 就可以了 From 将 MySQL 查询结果保存到文本或 CSV 文件中 http www tech recipe
  • strtok - 如何避免换行并放入字符串数组?

    如果我欺骗了主题 我真的很抱歉 我在这里搜索但没有结果 我有代码 void split char str char splitstr char p char splitbuf 32 int i 0 p strtok str while p
  • Golang中按长度分割字符串

    有谁知道如何在 Golang 中按长度分割字符串 例如 每 3 个字符分割 helloworld 那么理想情况下它应该返回一个 hel low orl d 数组 或者 一个可能的解决方案是在每 3 个字符后附加一个换行符 所有的想法都非常感
  • MySQL - 多个结果集

    我正在使用 NET Connector 连接到 MySQL 在我的应用程序中 很少有线程使用相同的连接 因此如果 MySQLDataReader 尚未关闭并且某个线程正在尝试执行查询 则会出现该错误 已经有一个打开的 DataReader
  • mysql表中的数据非常大。即使 select 语句也需要很多时间

    我正在开发一个数据库 它是一个相当大的数据库 有 13 亿行和大约 35 列 这是我检查表状态后得到的结果 Name Table Name Engine InnoDB Version 10 Row format Compact Rows 1
  • PDO语法错误

    我在一个项目中使用 PDO 但提交时出现语法错误 这是我的代码
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • 将 Python 中的日期与日期时间进行比较

    所以我有一个日期列表 datetime date 2013 7 9 datetime date 2013 7 12 datetime date 2013 7 15 datetime date 2013 7 18 datetime date
  • MySQL 左连接 WHERE table2.field = "X"

    我有以下表格 pages Field Type Null Key Default Extra page id int 11 NO PRI NULL auto increment type varchar 20 NO NULL
  • 更改mysql数据库表中的日期格式

    大家早上好 只是一个简单的问题 在我现有的 MySql 数据库中 我几乎没有包含日期 的列 目前这些是年 月 日格式 但现在我需要将其全部更改为年 月 日格式 我试过了select date format curdate d m Y 但它不
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • Dapper 或 MySql 未找到包含句号“.”的存储过程。

    我有一个简单的 C 控制台 它使用 Dapper ORM 调用本地 MySql 数据库 以执行名为的存储过程users UserCreate 但是 当运行查询时 我收到一个异常 在数据库 用户 中找不到过程或函数 UserCreate Bu
  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • 类型错误:“datetime.datetime”和“str”的实例之间不支持“>”

    我是 python 日期和时间类型的新手 我有一个日期值 date 2018 11 10 10 55 31 00 00 我需要检查该日期值是否超过 90 天 我试过 from datetime import datetime from da
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的

随机推荐

  • 如何在Flutter中使用TextFormField的按键事件?

    有什么办法可以捕获文本字段中的按键吗 就我而言 当用户在文本字段内按回车键时 这些值将被存储 为此 我需要像 Kotlin Android 中那样使用 Keypress event 我这周才开始尝试 flutter 因为它很有趣而且是跨平台
  • 在c中的Linux套接字编程中从侦听和接受的连接中提取IP

    在下面的代码中 我想在接受传入连接后提取已连接客户端的 IP 地址 之后我应该做什么accept 实现它吗 int sockfd newsockfd portno clilen portno 8090 clilen 0 pthread t
  • 使用 UrlHelper.Action 方法生成 url 时出现空引用异常

    由于某种原因 当某些机器人访问该网站时 会生成一个带有UrlHelper Action方法引发空异常System Web HttpServerVarsCollection Get 我已经做了一些调试 调用堆栈开始尝试从以下位置获取 HTTP
  • 无法使用 android 4.4 旋转模拟器[重复]

    这个问题在这里已经有答案了 我已经将我的sdk更新到最新版本 android 4 4 并启动了模拟器 但现在似乎无法使用CTRL F11旋转屏幕 屏幕发生变化但所有应用程序都没有改变 我不知道这是否是一个相关问题 但我可以看到 即使我创建了
  • 可编辑的组合框,绑定到不在列表中的值

    我有可编辑的组合框 其中首选项目并不总是位于下拉列表中 我希望能够在文本框中手动输入文本 该文本将传播到绑定到 SelectedValue 的字符串 现在 仅当输入的值位于 ComboBox 项中的值中时 绑定到 SelectedValue
  • NameError:名称“N_TOKENS”未定义

    我是 Python 新手 刚刚开始安装 Windows 版 PyCharm 从 Skype 下载了一些示例代码来测试他们的 SkypeKit API 但是 一旦我按下调试按钮 我就会得到 我安装了 Python 2 7 和 Django 1
  • 从 Chrome 开发工具扩展检查 WebSockets 帧

    我想创建一个 Chrome 开发者工具扩展 一个新面板 来分析我们自己网站上的 WebSockets 框架 据我所理解 http developer chrome com extensions devtools network html h
  • SQL Server 中具有多列的“In”子句

    我有一个根据提供的键从数据库检索数据的组件 不过 我希望我的 java 应用程序能够获取单个数据库命中中所有键的所有数据 以加快速度 当我只有一把钥匙时 我可以使用 in 子句 在处理多个键时 我可以在 oracle 中使用以下查询 SEL
  • 如何显示数组中与另一个数组的值相关的值,javascript

    我试图让该名称与与该名称相关的分数一起显示 因此 如果最高分是 98 我希望 Joels 的名字出现在显示屏上 此处显示名字 var names Ben Joel Judy Anne var scores 88 98 77 88 var a
  • 获取日期期间最畅销的 10 种产品

    我想返回用户指定日期内销量最高的 10 种产品 数量最多 我的数据库表 Orders OrderId OrderDate 订单 产品 ProductID OrderID Quantity Products ProductID Product
  • 多线程 Java 应用程序的性能

    我想了解多线程环境中的性能 为此 我编写了一个小测试 在我的机器 四核 Intel Windows XP Sun JDK 1 6 0 20 上运行 结果令人惊讶 该测试基本上是一个线程安全计数器 使用以下任一方法进行同步synchroniz
  • 是否可以安排在特定日期和时间发布?

    我正在使用 Azure DevOps 发布管道来自动化部署 我想安排发布创建在特定的日期和时间进行 但根据下面的屏幕截图 只能选择一周中的几天 并且您不能将触发器指定为仅一次 这是一个问题 因为触发器将导致每周在指定的日期进行发布 并且我们
  • @synchronized vs. NSLock 实例 vs. pthread_mutex_t

    我正在观看一个关于多线程的 2 年前的 教程视频 其中指出 NSLock实例比使用快 3 倍 同步 pthread mutex t比 2 倍快NSLock实例 实际上比 同步 这是真的 我还没有找到任何权威的说法 但我只是想在 StackO
  • 将石墨指标偏移当前时间范围内的最低值

    我有带有 Graphite 指标的 Grafana 我有一个图表显示EnqueueCountActiveMQ 中的某些特定队列 问题是EnqueueCount显示自创建队列以来的所有值 因此当我将 Grafana 中的时间范围缩小到 今天到
  • 向 ggplot 图形添加文件名或其他注释

    我使用 ggplot 来制作大部分图形 这些可以是单面板 也可以是多面的 为了更容易跟踪修订 我想在绘图的角落生成一个包含一些文本的小标签 在伪代码中 我正在寻找这样的东西 generate the initial plot p lt gg
  • WPF/MVVM 在运行时加载用户控件

    我知道有很多关于我的问题的文章 但我找不到解决方案 我是 WPF MVVM 的新手 我尝试了解 MVVM 逻辑 所以我做了一个小项目来理解这一点 对于我以后的应用程序 我想将用户控件动态加载到我的窗口中 在我的 StartView 中 我有
  • UI 的可排序列表的动画过渡

    我正在与一个jQueryUI可排序列表 并且想要在以下情况下为过渡设置动画li当我向上或向下拖动元素时 s 会四处移动 作为Apple已经在他们的iPod app重新排列播放列表的歌曲时 这可能吗 我已经搜索了几个小时 但找不到任何有用的东
  • 立即启用保存文档 NSManagedObjectContext 吗?

    从 10 7 上带有 CoreData 模板的标准 Xcode 基于文档的应用程序开始 我遇到了一些令人沮丧的行为 我确信这是我忽略的简单事情 假设在我的 NSPersistentDocument 子类中 我有这样的东西 连接到窗口中的一个
  • Vim:选择文件后保持位置列表窗口打开

    我需要完全相反的行为这个问题 https stackoverflow com questions 10846598 close location list when selecting file 我的观察是 按下enter在位置列表窗口中的
  • 如何将一列拆分为按日期排序的多列

    当我尝试以正确的格式获取数据库数据时遇到很多问题 我正在寻找按天按列打印数据库输出的方法 我的数据库有两列 一列带有timestamp格式如下YYYY MM DD H M另一列包含与速度相关的数据 我需要按天将速度数据拆分为列 或多或少 我