限制MySQL中跨表的结果总数?
为此,您可以将UNIONALL与LIMIT概念一起使用。对于我们的示例,我们将创建三个表。
让我们创建第一个表-
mysql> create table demo3 −> ( −> value int −> );
借助insert命令将一些记录插入表中-
mysql> insert into demo3 values(10); mysql> insert into demo3 values(20); mysql> insert into demo3 values(30);
使用select语句显示表中的记录-
mysql> select *from demo3;
这将产生以下输出-
+-------+ | value | +-------+ | 10 | | 20 | | 30 | +-------+ 3 rows in set (0.00 sec)
创建第二张表的查询如下-
mysql> create table demo4 −> ( −> value1 int −> );
借助insert命令将一些记录插入表中-
mysql> insert into demo4 values(40); mysql> insert into demo4 values(10); mysql> insert into demo4 values(60);
使用select语句显示表中的记录-
mysql> select *from demo4;
这将产生以下输出-
+--------+ | value1 | +--------+ | 40 | | 10 | | 60 | +--------+ 3 rows in set (0.00 sec)
这是创建第三个表的查询。
mysql> create table demo5 −> ( −> value2 int −> );
借助insert命令将一些记录插入表中-
mysql> insert into demo5 values(100); mysql> insert into demo5 values(60); mysql> insert into demo5 values(50);
使用select语句显示表中的记录-
mysql> select *from demo5;
这将产生以下输出-
+--------+ | value2 | +--------+ | 100 | | 60 | | 50 | +--------+ 3 rows in set (0.00 sec)
以下是限制表中结果总数的查询-
mysql> select tbl.* −> from ((select * from demo3 ORDER BY value DESC LIMIT 2 −> ) UNION ALL −> (select * from demo4 ORDER BY value1 DESC LIMIT 2 −> ) UNION ALL −> (select * from demo5 ORDER BY value2 DESC LIMIT 2 −> ) −> ) tbl −> −> LIMIT 2;
这将产生以下输出-
+-------+ | value | +-------+ | 30 | | 20 | +-------+ 2 rows in set (0.00 sec)
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短