使用单个MySQL查询从两个表的最大值中选择最小值?

为此,您可以在MySQL中使用UNION。让我们首先创建一个表-

create table DemoTable1
   -> (
   -> Value int
   -> )
   -> ;

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

insert into DemoTable1 values(60);
insert into DemoTable1 values(78);
insert into DemoTable1 values(57);

使用select语句显示表中的所有记录-

select * from DemoTable1;

这将产生以下输出

+-------+
| Value |
+-------+
|    60 |
|    78 |
|    57 |
+-------+
3 rows in set (0.00 sec)

这是创建第二个的查询-

create table DemoTable2
    -> (
    -> Value int
    -> );

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

insert into DemoTable2 values(90) ;
insert into DemoTable2 values(67) ;

使用select语句显示表中的所有记录-

select * from DemoTable2;

这将产生以下输出

+-------+
| Value |
+-------+
|    90 |
|    67 |
+-------+
2 rows in set (0.00 sec)

这是从两个表的最大值中选择最小值的查询-

select min(tbl.Value) as Value
   -> from
   -> (
   -> select max(Value) as Value from DemoTable1608
   -> union
   -> select max(Value) as Value from DemoTable1609
   -> ) as tbl;

这将产生以下输出

+-------+
| Value |
+-------+
|    78 |
+-------+
1 row in set (0.04 sec)