mysqlworkbench先将分别将SN列=‘H825F7F0001’和SN列=‘H825F7F00002’中‘Config’列=‘HT1’的行筛选出来,分别得到筛选出来的行中‘DCPower’列和‘Power_16’列得到的最大和最小值
时间: 2024-09-10 10:24:27 浏览: 40
在MySQL Workbench中,你可以通过编写SQL查询语句来实现上述的需求。首先,你需要对每个SN列的值分别进行筛选,然后在筛选出来的数据中查找'DCPower'和'Power_16'列的最大和最小值。
以下是实现此查询的SQL语句:
```sql
SELECT
'H825F7F0001' AS SN,
MAX(CASE WHEN Config = 'HT1' THEN DCPower END) AS Max_DCPowerHT1,
MIN(CASE WHEN Config = 'HT1' THEN DCPower END) AS Min_DCPowerHT1,
MAX(CASE WHEN Config = 'HT1' THEN Power_16 END) AS Max_Power_16HT1,
MIN(CASE WHEN Config = 'HT1' THEN Power_16 END) AS Min_Power_16HT1
FROM your_table_name
WHERE SN = 'H825F7F0001';
UNION ALL
SELECT
'H825F7F0002' AS SN,
MAX(CASE WHEN Config = 'HT1' THEN DCPower END) AS Max_DCPowerHT1,
MIN(CASE WHEN Config = 'HT1' THEN DCPower END) AS Min_DCPowerHT1,
MAX(CASE WHEN Config = 'HT1' THEN Power_16 END) AS Max_Power_16HT1,
MIN(CASE WHEN Config = 'HT1' THEN Power_16 END) AS Min_Power_16HT1
FROM your_table_name
WHERE SN = 'H825F7F0002';
```
在这个查询中,`your_table_name`应该被替换为你的实际表名。这个查询首先选择了SN为'H825F7F0001'的行,并通过`CASE WHEN`语句来检查'Config'列是否等于'HT1',如果是,则返回对应的'DCPower'和'Power_16'值。然后使用`MAX()`和`MIN()`函数来找出这些值中的最大和最小值。
然后,使用`UNION ALL`连接另一部分查询,以处理SN为'H825F7F0002'的情况。注意,`UNION ALL`会包含所有的结果,包括重复的行。如果你确定对于每个SN只会有一个最大值和一个最小值,你也可以考虑使用`UNION`代替`UNION ALL`,这样会自动去除重复的行。
阅读全文