Mysqli中非常复杂的“输出”表。将列和行混合在一起

时间:2019-06-19 18:00:09

标签: mysqli

我在MySQLI数据库“表”中具有以下内容:

|ID |NumberOfChicken| CleanEggs| BrokenEggs| PickEggDate| StartEggYield| Farm|
|100|   1500        |    455   |    38     | 2019-05-16 | 2019-03-27   | AAA |
|101|   1498        |    429   |    18     | 2019-05-17 | 2019-03-27   | AAA |
|102|   1850        |    750   |    55     | 2019-05-17 | 2019-02-15   | BBB |
|103|   1498        |    448   |    28     | 2019-05-18 | 2019-03-27   | AAA |
|104|   1850        |    776   |    83     | 2019-05-18 | 2019-02-15   | BBB |
|105|   1495        |    465   |    25     | 2019-05-19 | 2019-03-27   | AAA |
|106|   1846        |    754   |    65     | 2019-05-19 | 2019-02-15   | BBB |
|107|   1250        |    554   |    21     | 2019-05-19 | 2019-04-20   | CCC |
|108|   1492        |    477   |    22     | 2019-05-20 | 2019-03-27   | AAA |
|109|   1844        |    784   |    45     | 2019-05-20 | 2019-02-15   | BBB |
|110|   1248        |    535   |    19     | 2019-05-20 | 2019-04-20   | CCC |

我正在尝试获得非常复杂的表,该表看起来像这样:

|                  |    AAA   |    BBB   |   CCC   |
|ActualChickensNo  |   1492   |   1844   |  1248   |
|CleanEggs         |   2274   |   3064   |  1089   |
|BrokenEggs        |    131   |    248   |    40   | 
|AgeOfEggs         |6,5,4,3,2 |  5,4,3,2 |   3,2   |
|AgeOfChikens      |     9    |     15   |     6   |

ActualChickensNo是每个农场中最后一个实际的鸡数量

CleanEggs,BrokenEggs是每个服务器场的总和

AgeOfEggs将显示每个PickEggDate到实际日期的天数。这意味着我将得到一位以上的数字。可以做到吗?

AgeOfChicken将显示每个StartEggYield到实际日期的星期数。

我已将2019-05-22用作“实际”日期

我的问题是,是否有可能使Query获得这样的结果。 我已经尝试过Pivot,但是我认为这不可能用Pivot解决。 有人可以帮忙吗?

THX

0 个答案:

没有答案