<i id='nTxwU'><tr id='nTxwU'><dt id='nTxwU'><q id='nTxwU'><span id='nTxwU'><b id='nTxwU'><form id='nTxwU'><ins id='nTxwU'></ins><ul id='nTxwU'></ul><sub id='nTxwU'></sub></form><legend id='nTxwU'></legend><bdo id='nTxwU'><pre id='nTxwU'><center id='nTxwU'></center></pre></bdo></b><th id='nTxwU'></th></span></q></dt></tr></i><div id='nTxwU'><tfoot id='nTxwU'></tfoot><dl id='nTxwU'><fieldset id='nTxwU'></fieldset></dl></div>

        <bdo id='nTxwU'></bdo><ul id='nTxwU'></ul>

      <small id='nTxwU'></small><noframes id='nTxwU'>

      <legend id='nTxwU'><style id='nTxwU'><dir id='nTxwU'><q id='nTxwU'></q></dir></style></legend>
      <tfoot id='nTxwU'></tfoot>
      1. 是否可以在 MySQL 中使用 Crosstab/Pivot Query?

        Is it possible to use Crosstab/Pivot Query in MySQL?(是否可以在 MySQL 中使用 Crosstab/Pivot Query?)

          <bdo id='wWBY6'></bdo><ul id='wWBY6'></ul>
          <tfoot id='wWBY6'></tfoot>
          • <small id='wWBY6'></small><noframes id='wWBY6'>

            <i id='wWBY6'><tr id='wWBY6'><dt id='wWBY6'><q id='wWBY6'><span id='wWBY6'><b id='wWBY6'><form id='wWBY6'><ins id='wWBY6'></ins><ul id='wWBY6'></ul><sub id='wWBY6'></sub></form><legend id='wWBY6'></legend><bdo id='wWBY6'><pre id='wWBY6'><center id='wWBY6'></center></pre></bdo></b><th id='wWBY6'></th></span></q></dt></tr></i><div id='wWBY6'><tfoot id='wWBY6'></tfoot><dl id='wWBY6'><fieldset id='wWBY6'></fieldset></dl></div>
              <legend id='wWBY6'><style id='wWBY6'><dir id='wWBY6'><q id='wWBY6'></q></dir></style></legend>
                  <tbody id='wWBY6'></tbody>

                  本文介绍了是否可以在 MySQL 中使用 Crosstab/Pivot Query?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在使用 MySQL.这是我的桌子

                  I'm using MySQL. This is table i have

                  supplier_ID   Item_ID   Date                  Price    QTY
                  1             1         2012-01-01 00:00:00   500.00   2
                  1             1         2012-01-03 00:00:00   450.00   10
                  2             1         2012-01-01 00:00:00   400.00   5
                  3             1         2012-05-01 00:00:00   500.00   1
                  

                  我需要一个选择查询来显示类似这样的表格.

                  I need a select query showing a table something like this.

                  supplier_ID      2012-01-01   2012-01-03   2012-05-01   
                  1                500.00(2)    450.00(10)   null
                  2                400.00(5)    null         null
                  3                null         null         500.00(1)
                  

                  推荐答案

                  您可以使用此查询 -

                  SELECT
                    supplier_id,
                    MAX(IF(date = '2012-01-01', value, NULL)) AS '2012-01-01',
                    MAX(IF(date = '2012-01-03', value, NULL)) AS '2012-01-03',
                    MAX(IF(date = '2012-05-01', value, NULL)) AS '2012-05-01'
                  FROM (
                    SELECT supplier_id, DATE(date) date, CONCAT(SUM(price), '(', qty, ')') value FROM supplier
                      GROUP BY supplier_id, DATE(date)
                      ) t
                    GROUP BY supplier_id;
                  
                  +-------------+------------+------------+------------+
                  | supplier_id | 2012-01-01 | 2012-01-03 | 2012-05-01 |
                  +-------------+------------+------------+------------+
                  |           1 | 500.00(2)  | 450.00(10) | NULL       |
                  |           2 | 400.00(5)  | NULL       | NULL       |
                  |           3 | NULL       | NULL       | 500.00(1)  |
                  +-------------+------------+------------+------------+
                  

                  它产生你想要的结果.但是如果你想动态地做,那么看看这篇文章自动化数据透视表查询" - http://www.artfulsoftware.com/infotree/queries.php#523 或此链接 - 动态数据透视表.

                  It produces result you want. But if you want to do it dynamically, then have a look at this article 'Automate pivot table queries' - http://www.artfulsoftware.com/infotree/queries.php#523, or this link - Dynamic pivot tables.

                  这篇关于是否可以在 MySQL 中使用 Crosstab/Pivot Query?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to update a record using sequelize for node?(如何使用节点的 sequelize 更新记录?)
                  How to provide a mysql database connection in single file in nodejs(如何在 nodejs 中的单个文件中提供 mysql 数据库连接)
                  Looping Over Result Sets in MySQL(在 MySQL 中循环结果集)
                  How to get Top 5 records in SqLite?(如何获得 Sqlite 中的前 5 条记录?)
                  Pivot data in T-SQL(在 T-SQL 中透视数据)
                  SQL Server SELECT where any column contains #39;x#39;(SQL Server SELECT,其中任何列包含“x)
                • <small id='lTWuH'></small><noframes id='lTWuH'>

                        <i id='lTWuH'><tr id='lTWuH'><dt id='lTWuH'><q id='lTWuH'><span id='lTWuH'><b id='lTWuH'><form id='lTWuH'><ins id='lTWuH'></ins><ul id='lTWuH'></ul><sub id='lTWuH'></sub></form><legend id='lTWuH'></legend><bdo id='lTWuH'><pre id='lTWuH'><center id='lTWuH'></center></pre></bdo></b><th id='lTWuH'></th></span></q></dt></tr></i><div id='lTWuH'><tfoot id='lTWuH'></tfoot><dl id='lTWuH'><fieldset id='lTWuH'></fieldset></dl></div>

                        <legend id='lTWuH'><style id='lTWuH'><dir id='lTWuH'><q id='lTWuH'></q></dir></style></legend>
                            <bdo id='lTWuH'></bdo><ul id='lTWuH'></ul>

                              <tbody id='lTWuH'></tbody>
                          • <tfoot id='lTWuH'></tfoot>