mysql,转置/透视行到列,变量选择

2023-12-10

再次您好,提前感谢您的帮助。

我检查了之前的几个问题,但找不到确切的情况。

我正在尝试将行转置/旋转为列,但结果基于 where 子句中的日期函数,使我的选择有些可变。



SELECT
DATE_FORMAT(packet_details.installDate,'%m-%d-%Y') as Install_Date,
Count(packet_details.installDate)
FROM
packet_details
WHERE
 packet_details.installDate >= CURRENT_DATE - INTERVAL 7 DAY
 AND packet_details.installDate "*lessthan*" CURRENT_DATE + INTERVAL 7 DAY
GROUP BY installDate
*lessthan symbol wont show here on Stack & i don't know how to fix it
  

不确定这是否有意义,所以我添加了一个小提琴:http://sqlfiddle.com/#!2/5b235/3/0所以像这样:


INSTALL_DATE     COUNT
1/24/2013         2
1/25/2013         2
1/26/2013         2
1/27/2013         2
1/28/2013         2
1/29/2013         1
2/3/2013          1
2/4/2013          1
2/5/2013          5
2/6/2013          4  

转换成:



INSTALL_DATE    1/24/2013   1/25/2013   1/26/2013   1/27/2013   1/28/2013....   
COUNT             2             2          2             2         2               1     
  

SELECT  Install_DATE,
        MAX(CASE WHEN Install_DATE = '01-24-2013' THEN totalCount END) `01-24-2013`,
        MAX(CASE WHEN Install_DATE = '01-25-2013' THEN totalCount END) `01-25-2013`,
        MAX(CASE WHEN Install_DATE = '01-26-2013' THEN totalCount END) `01-26-2013`,
        .......
FROM
(
  SELECT DATE_FORMAT(packet_details.installDate,'%m-%d-%Y') as Install_Date,
         Count(packet_details.installDate) totalCount
  FROM   packet_details
  WHERE  packet_details.installDate >= CURRENT_DATE - INTERVAL 7 DAY AND 
         packet_details.installDate   < CURRENT_DATE + INTERVAL 7 DAY
  GROUP  BY installDate
) s
  • SQLFiddle 演示

对于未知数量的Install_Date, a 动态查询是更优选的,

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(CASE WHEN Install_DATE = ''',
      Install_Date,
      ''' then totalCount end) AS `', Install_Date, '`' )
  ) INTO @sql
FROM 
(
  SELECT DATE_FORMAT(packet_details.installDate,'%m-%d-%Y') as Install_Date,
         Count(packet_details.installDate) totalCount
  FROM   packet_details
  WHERE  packet_details.installDate >= CURRENT_DATE - INTERVAL 7 DAY AND 
         packet_details.installDate   < CURRENT_DATE + INTERVAL 7 DAY
  GROUP  BY installDate
) s;

SET @sql = CONCAT('SELECT Install_DATE, ', @sql, ' 
                    FROM
                    (
                      SELECT DATE_FORMAT(packet_details.installDate,''%m-%d-%Y'') as Install_Date,
                             Count(packet_details.installDate) totalCount
                      FROM   packet_details
                      WHERE  packet_details.installDate >= CURRENT_DATE - INTERVAL 7 DAY AND 
                             packet_details.installDate   < CURRENT_DATE + INTERVAL 7 DAY
                      GROUP  BY installDate
                    ) s');

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

mysql,转置/透视行到列,变量选择 的相关文章

  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • JDBC 错误:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我在 Java Eclipse 中收到错误消息 我在 MySql 中有一个数据库 它有列 String user name int id time int id desk int user password 我想
  • MySQL JOIN 滥用?情况会变得有多糟糕?

    我读了很多关于关系数据库的文章 在每个 SELECT 上使用许多 JOIN 语句 但是 我一直想知道滥用这种方法从长远来看是否会出现任何性能问题 例如 假设我们有一个users桌子 我通常会添加 最常用 的数据 而不是进行任何额外的联接 例
  • MySql 视图脚本中的注释

    可以这样做吗 我尝试过多个 gui mysql workbench navicat toad for mysql 但没有一个保存这样的注释 something important select something else importan
  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • php如何生成动态list()?

    根据我的理解 这就是 list 的工作原理 list A1 A2 A3 array B1 B2 B3 所以在帮助下list 我们可以相应地从数组中分配值 这是我的问题 如何生成动态list 1 基于数据库返回结果 我不确定有多少 但我将其全
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • 如何为 MySQL 中的字段或列添加别名?

    我正在尝试做这样的事情 但我收到未知的列错误 SELECT SUM field1 field2 AS col1 col1 field3 AS col3 from core 基本上 我只想使用别名 这样我就不需要执行之前执行的操作 这在mys
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • mysql 如何将 varchar(10) 转换为 TIMESTAMP?

    我已将所有日期存储到数据库中varchar 10 现在我想将它们转换为 TIMESTAMP 当我运行sql时 ALTER TABLE demo3 CHANGE date date TIMESTAMP NOT NULL 它提醒 1292 In
  • CakePHP 查找 - 按字符串到整数排序?

    我想使用 CakePHP 从数据库中提取照片数组 按照片标题排序 0 1 2 3 我的查询当前看起来像 ss photos this gt Asset gt find all array conditions gt array kind g
  • 单击按钮时增加 ASP.net 中的变量

    我是 ASP NET 新手 我正在使用 VB net 创建一个 ASP net 网站 所以这是我的问题 Dim myCounter as Integer 0 Protected Sub Button1 Click ByVal sender
  • MySQL 中 INDEX、PRIMARY、UNIQUE、FULLTEXT 之间的区别?

    创建MySQL表时PRIMARY UNIQUE INDEX和FULLTEXT有什么区别 我将如何使用它们 差异 KEY or INDEX指的是普通的非唯一索引 索引的非不同值是允许的 因此索引may索引的所有列中包含具有相同值的行 这些索引
  • 仅使用 varchar 作为外键的 MySQL 表

    我有一个包含单个唯一 VARCHAR 512 字段的表 我想让另一个表保存对第一个表的外键引用 两个表都使用 InnoDB 如果我向第二个表添加 VARCHAR 512 键并在其上添加外键约束 512 字节长的数据是否会保存两次 如果是这样
  • 处理ON INSERT触发器时,innodb表如何锁定?

    我有两个 innodb 表 articles id title sum votes 1 art 1 5 2 art 2 8 3 art 3 35 votes id article id vote 1 1 1 2 1 2 3 1 2 4 2

随机推荐

  • 如何将文本放置在边框上?

    我能够让它在白色背景下工作 但在背景不是白色的情况下 该解决方案也不起作用 我做了什么应该很明显为什么它不起作用 负边距 背景设置为背景颜色 有什么解决方案可以使它始终看起来不错吗 一种方法是使用间隔跨度和包装器 在本例中header 所有
  • Diesel:BoxableExpressions 在表及其连接上通用?

    我正在尝试在运行时构造一些过滤器 这些过滤器可以应用于表tunnel or to tunnel LEFT OUTER JOIN connection ON tunnel id connection tunnel id 这些表的定义如下 De
  • 剥离 HTML 标签以获取 python 中的字符串

    我尝试使用 BeautifulSoup 从 HTML 文件中获取一些字符串 每次使用它时我都会得到部分结果 我想获取每个 li 元素 标签中的字符串 到目前为止 我已经能够像这样获得 ul 中的所有内容 usr bin python fro
  • 对数据点拟合更好的高斯分布?

    我试图将高斯拟合到一组似乎遵循高斯分布的数据点 我已经检查了很多可能的方法来做到这一点 但我并不真正理解其中的大多数 然而 我找到了一个似乎有效的解决方案 但我得到的实际拟合结果看起来并不比我的数据点更像高斯 这是我的代码 import n
  • Magento - 订单详细信息不显示在管理面板中

    我们有一个电子商务 magento 商店 现在 我们遇到了一个奇怪的问题 我无法理解和调试 对于某些订单 虽然邮件已正确发送给客户并抄送至我们的电子邮件 ID 但 magento 管理的订单详细信息页面中未显示任何详细信息 管理订单详细信息
  • Flex 项目是块级元素吗?

    Flex 项目是 Flex 级别的元素 但它是块级别的元素吗 根据CSS 灵活框布局模块第 1 级第 4 章 弹性项目被认为是在弹性级别而不是在块级别 Flex 项目为其内容建立独立的格式化上下文 然而 弹性项目本身是弹性级别的 盒子 而不
  • 如何使用 boto3 将 S3 对象保存到文件

    我正在尝试用 new 做一个 hello world boto3AWS 的客户端 我的用例相当简单 从 S3 获取对象并将其保存到文件中 在 boto 2 X 中我会这样做 import boto key boto connect s3 g
  • 在引发事件之前是否有任何理由将事件分配给局部变量?

    我经常看到如下代码 想知道是否有任何理由为事件使用局部变量 而不是仅仅使用事件本身 有没有 var handler OnQueryComplete if handler null handler this new RepositoryEve
  • Rails 3.1.0 ActionView::Template::Error (application.css 未预编译)

    我使用带有索引功能的简单页面控制器制作了一个基本的 Rails 应用程序 当我加载页面时 我得到 ActionView Template Error application css isn t precompiled 2 3 4 5 6 7
  • 适用于 Python 3 的更好的 XML 序列化器

    我尝试了 xml marshaller 如下 from xml marshaller import xml marshaller class Person firstName John lastName Doe person1 Person
  • std::函数的 std::向量

    我有以下内容 typedef std function
  • 如何在小部件右侧创建没有下三角形的Android微调器

    我有一个屏幕 用户有很多项目需要输入 因此屏幕空间非常宝贵 我希望屏幕上小部件的外观 在用户按下它之前 与 Spinner 右侧的 EditText 或 Spinner 小部件的左侧部分 没有正常的向下三角形 类似 然后 当用户按下该小部件
  • “LINQ to Entities 不支持 LINQ 表达式节点类型‘Invoke’” - 难住了!

    稍后在我的 EF 中 我尝试传入一个匿名函数作为我的 Linq 查询的一部分 该函数将传入一个 INT 并返回一个 BOOL u RelationTypeId 是一个 INT 下面是我的函数的简化版本 public IEnumerable
  • Gson 反序列化为空字段

    The result变量包含正确解析的 JSON 但是之后反序列化 List包含正确数量的物品 但全部是空的 如何修复它 Gson gson new Gson List
  • 如何使用 Airflow 将 sql 输出存储到 pandas 数据框?

    我想将数据从 SQL 存储到 Pandas 数据框并进行一些数据转换 然后使用气流加载到另一个表 我面临的问题是表的连接字符串只能通过 Airflow 访问 所以我需要使用气流作为介质来读写数据 如何才能做到这一点 MY code Task
  • Spring Boot 和 Logback 中不同 Classloader 加载的类

    我遇到了一个我想理解的应用题 如果有人有一个解决方案 那就太好了 但我实际上正在寻找理解为什么会发生这种情况 我编写了一个自定义 Logback 布局 我正在延长ch qos logback contrib json classic Jso
  • jqGrid - 右键单击​​ jqGrid 中的列确定列名称

    我想要在 jqGrid 中右键单击列标题时获得列的名称 任何代码将不胜感激 你可以绑定contextmenu所有列标题的事件 每个标头都是 th 元素及其 DOM 支持细胞索引财产 这细胞索引属性为您提供列标题的索引 如果您要在中使用相同的
  • 如何取消删除 BigQuery 表?

    我不小心删除了我的一张 BigQuery 表 可以拿回来吗 该API似乎不支持取消删除 通过表复制和快照装饰器可以在 BigQuery 中取消删除 也就是说 您可以复制删除表之前的表快照 BigQuery 过去对取消删除有限制 但随着时间的
  • 如何在 Spark 中定义一个由所有工作人员共享的全局 scala 变量?

    在 Spark 程序中 我想定义一个像不可变映射这样的变量 该变量将被所有工作程序同步访问 我该怎么办 我应该定义一个 scala 对象吗 不仅仅是不可变的map 如果我想要一个可以共享并且可以同步更新的变量怎么办 例如 可变映射 var
  • mysql,转置/透视行到列,变量选择

    再次您好 提前感谢您的帮助 我检查了之前的几个问题 但找不到确切的情况 我正在尝试将行转置 旋转为列 但结果基于 where 子句中的日期函数 使我的选择有些可变 SELECT DATE FORMAT packet details inst