如何在 MySQL 中获取新列中两列之间的差异?

mysqlmysqli database更新于 2024/12/23 14:04:17

让我们首先创建一个表,其中包含要计算新列中的差异的列 −

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   LowValue int,
   HighValue int
);
Query OK, 0 rows affected (0.62 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable(LowValue,HighValue) values(100,200);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(LowValue,HighValue) values(300,700);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(LowValue,HighValue) values(1000,2000);
Query OK, 1 row affected (0.13 sec)

以下是使用 select 语句显示表中的所有记录的查询 −

mysql> select *from DemoTable;

这将产生以下输出 −

+----+----------+-----------+
| Id | LowValue | HighValue |
+----+----------+-----------+
| 1  | 100      | 200       |
| 2  | 300      | 700       |
| 3  | 1000     | 2000      |
+----+----------+-----------+
3 rows in set (0.00 sec)

以下查询用于获取两列之间的差异 −

mysql> select tbl.Id,tbl.LowValue,tbl.HighValue, 
   HighValue-LowValue AS DifferenceBetweenTwoColumns from DemoTable tbl;

这将产生以下输出 −

+----+----------+-----------+-----------------------------+
| Id | LowValue | HighValue | DifferenceBetweenTwoColumns |
+----+----------+-----------+-----------------------------+
| 1  | 100      | 200       | 100                         |
| 2  | 300      | 700       | 400                         |
| 3  | 1000     | 2000      | 1000                        |
+----+----------+-----------+-----------------------------+
3 rows in set (0.00 sec)

相关文章


有用资源