gpt4 book ai didi

mysql - 在 mySQL 中执行任意数量的自连接

转载 作者:行者123 更新时间:2023-11-30 23:13:15 25 4
gpt4 key购买 nike

<分区>

我在 mysql 中有一个数据集,其中包含多个命名接口(interface)的带宽测试结果,以及执行测试的日期和接口(interface)的名称。样本数据集看起来像这样:

|  date  |  testResult  |  interface  |
---------------------------------------
| 12/25 | 32 | eth0 |
| 12/25 | 21 | eth0 |
| 12/25 | 25 | eth0 |
| 12/26 | 30 | eth0 |
| 12/27 | 33 | eth0 |
| 12/25 | 12 | eth1 |
| 12/25 | 16 | eth1 |
| 12/27 | 3 | vz0 |
| 12/26 | 120 | virt1 |

我需要绘制给定日期每个界面的平均结果图表,所以我目前的解决方案是

SELECT `date`, AVG(`testResult`) as avg, `interface` FROM `tests` WHERE 1=1 
GROUP BY date, interface ORDER BY interface, date

这给了我这样的结果

|  date  |     avg      |  interface  |
---------------------------------------
| 12/25 | 26 | eth0 |
| 12/26 | 30 | eth0 |
| 12/27 | 33 | eth0 |
| 12/25 | 14 | eth1 |
| 12/26 | 120 | virt1 |
| 12/27 | 3 | vz0 |

我的问题是我需要在日期“加入”(我认为)此数据,并为当天每个接口(interface)的平均值列一列。结果集中接口(interface)的名称和数量不是常量,不能硬编码。我理想的结果集应该是这样的:

|  date  |  avg_eth0    |  avg_eth1   |  avg_virt1   |  avg_vz0   |
-------------------------------------------------------------------
| 12/25 | 26 | 14 | NULL | NULL |
| 12/26 | 30 | NULL | 120 | NULL |
| 12/27 | 33 | NULL | NULL | 3 |

有没有办法执行此连接,基本上为 interface 列的每个唯一值创建一个列?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com