MySQL 查询和数据透视表

2024-02-19

我的 MySQL 数据库具有以下列标题:

month, typeOfWork, totalHours

我有兴趣根据工作类型和月份显示结果。例如,所有 typeOfWork 条目将显示在左侧第一列中,并且每个字段将汇总每列指定月份中的特定 typeOfWork。因此,我的 SQL 数据透视表语句当前是:

SELECT
IFNULL(typeOfWork, 'Total') AS TypeOfWork,
SUM(IF(month='JAN',totalHours,NULL)) AS JAN,    
SUM(IF(month='FEB',totalHours,NULL)) AS FEB,    
SUM(IF(month='MAR',totalHours,NULL)) AS MAR,    
SUM(IF(month='APR',totalHours,NULL)) AS APR,    
SUM(IF(month='MAY',totalHours,NULL)) AS MAY,    
SUM(IF(month='JUN',totalHours,NULL)) AS JUN,    
SUM(IF(month='JUL',totalHours,NULL)) AS JUL,    
SUM(IF(month='AUG',totalHours,NULL)) AS AUG,
SUM(IF(month='SEP',totalHours,NULL)) AS SEP,    
SUM(IF(month='OCT',totalHours,NULL)) AS OCT,    
SUM(IF(month='NOV',totalHours,NULL)) AS NOV,    
SUM(IF(month='DEC',totalHours,NULL)) AS DEC

FROM $databasetable GROUP BY typeOfWork
WITH ROLLUP

我当前收到指定最后一行(从“DEC 到 ROLLUP”)的语法错误。我的困惑来自于我只是从脚本中的另一个工作数据透视表改编了该表。我认为差异可能在于我的两个要求(总小时数,其中月份等于列名并且 typeOfWork 等于第一列中的 typeOfWork)。我想知道我的 IF 语句是否需要 AND 子句?

有人能用这个数据透视表为我指出正确的方向吗?这将不胜感激。谢谢你!


您的查询是正确的。 只有一件事 - DEC 是MySQL 保留字 http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-6.html,该词不能直接用作对象标识符;所以,只需用反引号引用它 -

SELECT
IFNULL(typeOfWork, 'Total') AS TypeOfWork,
SUM(IF(month='JAN',totalHours,NULL)) AS JAN,    
...
SUM(IF(month='DEC',totalHours,NULL)) AS `DEC`

FROM $databasetable GROUP BY typeOfWork
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 查询和数据透视表 的相关文章

  • Sql批量复制截断小数

    当我使用批量复制将十进制值从 C DataTable 插入 Sql Server 2005 时 值会被截断而不是四舍五入 DataTable 中的数据类型为 Decimal 数据库中的数据类型为Decimal 19 3 数据表中的值为 1
  • Solr 增量导入不起作用

    我使用的是solr 4 2 请注意 完全导入有效 但增量导入却无效 增量导入不会给出任何错误 但不会获取任何更改 这是数据配置文件
  • 常量值如何影响连接的 ON 子句?

    我最近发现 LEFT JOIN 的 ON 子句可能包含 1 1 等值 这让我感到不安 因为它打破了我对连接功能的看法 我遇到过以下情况的更详细版本 SELECT DISTINCT Person ID FROM Person LEFT JOI
  • 如何限制两个表之间一对多关系中的多个数量?

    我有一个带有两个 MySql 表的 MySQL 数据库 第一个是第一个表 表 A 有一列具有唯一值 从值 从 1 到 n 在第二个表 2 表 B 中 我有两列 在第一个表中我有一个名称 在第二个我的值从 1 到 n 如果我在 中添加一个值
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF
  • Postgresql:SERIAL 在约束 INSERT 失败时递增

    有一个像这样的简单表结构 CREATE TABLE test id INT PRIMARY KEY sid SERIAL 我注意到如果我尝试插入一行但它未通过约束测试 即主键约束 SERIAL计数器无论如何都会增加 所以下一次成功插入 si
  • 结果集未打开。验证自动提交已关闭。阿帕奇·德布里

    我的数据库使用 apache derby 我能够对数据库执行插入操作 以下是尝试显示我唯一的表 MAINTAB 的内容的代码摘录 java sql Connection 的实例是 dbconn ResultSet word Statemen
  • 用户“root”@“localhost”的 Spring Boot MySql 访问被拒绝

    我有 Spring Boot 应用程序并部署到远程服务器 该应用程序在我的计算机上运行 MySQL连接URL 用户名和密码本地和远程MySQL相同 数据库和应用程序在同一台机器上 我检查了我的连接信息并执行了以下命令 GRANT ALL P
  • Rails 3 按字段排序和最后

    您好 我对 Rails 3 2 和订购有疑问 当想要按字段对集合进行排序时 调用时 last ActiveRecord行为怪异 gt gt User order FIELD id 1 User Load 0 4ms SELECT users
  • 使用 Ruby on Rails 索引多列

    我在 Mysql 数据库中有一个表 我想在其上使用多列索引 如何在不使用 mysql 控制台的情况下在 Rails 中执行此操作 在迁移定义中 您可以这样做 add index table name column1 column2
  • 插入后触发更新表列?

    在同一个表中添加任何记录后 我需要更新表中的列 这是我的sql代码 CREATE TRIGGER dbo EmployeeInsert ON dbo APP Employees AFTER INSERT AS BEGIN SET NOCOU
  • 根据 MySQL 列内容的长度创建索引?

    如何根据值的长度在 MySQL v 5 0 myisam 数据库引擎 中的列上创建索引 它是文本数据类型 最多 7000 个字符 我是否必须添加具有第一列长度的另一列 是的 因为 MySQL 不支持基于函数的索引 例如ADD INDEX m
  • 语言翻译语法

    我正在尝试为我的项目添加另一种语言 我们知道语言可以表现出主语和谓语的差异 例如 英语 Mustafa和他的朋友去看电影ahmet today 土耳其 Mustafa布昆 阿卡达西ahmetile birlikte sinemaya git
  • 导入 CSV 以更新表中的行

    大约有 26K 个产品 帖子 每个产品都有如下元值 post id 列是数据库中的产品 ID sku meta key 是每个产品的唯一 ID 我收到了一个新的 CSV 文件 该文件更新了每个产品的 sale price meta key
  • 解码Json数据数组并插入到mysql

    这个问题可能已经在这里问过 但我尝试搜索找不到它 我有如下 Json 数据 CityInfo CityCode 5599 Name DRUSKININKAI CityCode 2003 Name KAUNAS CityCode 2573 N
  • MySQL获取最后10条记录中的第一条记录

    在Mysql中 我试图获取最后10条记录中最旧的记录 为了得到最后 10 个我会简单地做SELECT FROM table ORDER BY id DESC LIMIT 10 为了获得最旧的 我只需使用 ASC 顺序 我需要首先按 DESC
  • 从多个表中选择 - 一对多关系

    我有这样的表 表产品 身份证 姓名 表格图像 产品 ID 网址 订单号 表价 产品 ID 组合 货币 价格 表数量 产品 ID 组合 数量 表 Product 与其他表是一对多关系 我需要查询表并得到类似这样的结果 伪数组 ProductI
  • 不唯一的表/别名

    因此 我尝试使用多个联接来运行此查询 以获得我想要的精确行 但我不断收到此错误 不唯一的表 别名 ss prices 我正在运行的查询 select ss accounts id ss accounts bot acc id ss acco
  • ASP.NET API:尚未为此 DbContext 配置数据库提供程序

    我正在尝试从我的 Net Core API 项目连接到 MySql 数据库 这是我的上下文类 public class MyContext DbContext public MyContext public MyContext DbCont

随机推荐

  • 我可以只合并 Git 中不冲突的更改吗?

    我怎样才能简单地 例如在一个命令中 在 Git 中合并 保持当前分支中冲突文件的状态 而不像在他们 我们的选项中单独指定每个文件 git checkout master git merge stable some option to kee
  • 如何在三个js渲染的Canvas中添加canvas的结束标签?

    三个js总是向页面添加没有结束标签的canvas元素 这背后有什么具体原因吗 我想在此画布元素上添加结束标签 Example page http threejs org examples webgl animation cloth insp
  • 如何解决 Django 中的 ImportError: Cannot import name simplejson

    我正在尝试在 Django 1 7 1 中构建一个实时聊天应用程序 看来我需要安装Redis和ishout js 所以我按照说明安装了它们 在 Django 中创建项目后 我将 drealtime 放在 INSTALLED APPS 下 并
  • Spring security,如何基于动态角色限制用户访问某些资源?

    给定一个场景 有一个 HTML 内容OR控制器中的某些方法 仅允许 a 角色访问 从上面 我们通过使用实现 hasRole a 然而 就我而言 这个角色是动态的 例如 管理员添加一个新角色 b 并且能够访问这些内容 那么该怎么做呢 我尝试了
  • 添加 WooCommerce 购物车链接 + 总计作为 wp_nav_menu 中的最后一个菜单项

    我正在尝试添加一个自定义 WooCommerce 购物车链接 其中包含内容计数和总成本作为菜单中的最后一个选项 这是我当前正在使用的代码 add filter wp nav menu header menu items custom min
  • 在 Matlab 中在地图上绘制 3d 条形图

    我有一个纬度 经度向量 另一个包含 Z 值 我需要将其显示在 3D 地图上 如下图右侧所示 我尝试了 bar3 但它很麻烦 因为它需要创建多个图表 这是一些代码 S4 shaperead filename plot S4 X S4 Y k
  • [Vue warn]:nextTick 中出现错误:“NotFoundError:无法在‘Node’上执行‘insertBefore’

    我偶尔会在 Vue Web 应用程序中收到以下错误消息 但当它确实发生时 它会完全停止我的应用程序 错误消息1 Vue warn nextTick 错误 NotFoundError 执行失败 Node 上的 insertBefore 新节点
  • 在 WPF 中无缝平铺矩形

    我想在 WPF 中无缝平铺一堆不同颜色的矩形 也就是说 我想将一堆矩形边对边放置 并且它们之间没有间隙 如果一切都与像素对齐 则效果很好 但我也想支持任意缩放 理想情况下 我不想使用 SnapsToDevicePixels 因为当图像放大时
  • React : 之间的区别

    有人可以解释一下两者之间的区别吗
  • 如何克隆 Collection

    我有一个枚举 Fruit 还有一个类 FruitCollection 由此得出Collection
  • XML 最佳实践:属性与附加元素 [重复]

    这个问题在这里已经有答案了 两者之间有什么区别以及何时应该使用它们
  • String.Equals(string1.Substring(0, x), string2) 比 string1.StartsWith(string2) 更好吗?

    我正在使用字符串比较来测试 URL 路径StringComparison OrdinalIgnoreCase MSDN给出了以下字符串比较建议HERE http msdn microsoft com en us library dd4651
  • 计算移动圆的碰撞,不重叠边界

    假设我有一个圆在矩形区域内弹跳 在某个时刻 这个圆将与矩形的一个表面碰撞并反射回来 我这样做的通常方法是让圆与边界重叠 然后反映速度矢量 圆实际上与边界重叠的事实通常不是问题 在低速时也不是很明显 在高速行驶时 很明显圆圈正在做一些不应该做
  • 浏览器控制台出错,请求 /sockjs-node/info?t=1555629946494

    我使用 vue cli 创建了一个新网站 我正在使用开发服务器来提供页面服务 当我在浏览器中查看该页面时 我看到浏览器控制台中显示两种类型的错误 GET http 172 31 7 153 4000 sockjs node info t 1
  • Oracle的ORA_HASH是“随机的”吗?

    Ora hash 是确定性的 因为保持输入和种子恒定将产生确定的输出 但是 对于任何种子 包括默认种子 ora hash 的输出必然具有以下属性 没有任何方法可以用来预测 ORA HASH 的结果 并且成功率高于纯粹随机猜测吗 可能不会 不
  • Hibernate @Inheritance,表作为父级,视图作为子级

    我在 Hibernate 中遇到这种情况 其中两个类之间存在父子关系 但数据库中没有这种关系 因为子类代表视图 而不是表 现在的问题是 要让 Hibernate 满意继承注解 https docs oracle com javaee 7 a
  • JavaFx 图像大小调整

    我有一个 borderPane 顶部有菜单 左侧有一个网格 中间有一个图像 我希望图像的大小与边框中心相同 因为现在图像超出了我的网格 我试过这个 imageView fitWidthProperty bind box widthPrope
  • 删除 R 中选择性 NA 的有价值行[重复]

    这个问题在这里已经有答案了 我有一个像这样的数据框 1 2 abc NA NA NA NA 2 3 abd be f NA NA 4 5 NA NA NA NA NA 现在 我想删除那些包含从第 3 列开始的所有 NA 的行 我正在做这样的
  • 每2秒更换一次图片

    我积累了一点 所以如果有人有任何想法 那会很有帮助 目前该程序正在编译并运行 但我不知道如何完成它 我正在使用日食 我想做的是 当我启动程序时 每 2 秒更换 4 张不同的图片 所以如果您有任何建议 请不要害羞 这是程序 Here is t
  • MySQL 查询和数据透视表

    我的 MySQL 数据库具有以下列标题 month typeOfWork totalHours 我有兴趣根据工作类型和月份显示结果 例如 所有 typeOfWork 条目将显示在左侧第一列中 并且每个字段将汇总每列指定月份中的特定 type