mysql统计多表交叉组合总数实例

发布时间:2019-10-25编辑:脚本学堂
本文介绍了mysql统计多表交叉组合总数的方法,分享一些操作实例,有需要的朋友参考下。

例子,mysql如何统计多表交叉组合总数。
 

复制代码 代码示例:

>mysql -h localhost -u root -p 

mysql> use world; 
Database changed 
mysql> show tables; 
+-----------------+ 
| Tables_in_world | 
+-----------------+ 
| city            | 
| country         | 
| countrylanguage | 
+-----------------+ 
3 rows in set (0.00 sec) 

mysql> select count(*) from city; 
+----------+ 
| count(*) | 
+----------+ 
|     4079 | 
+----------+ 
1 row in set (0.00 sec) 

mysql> select count(*) from country; 
+----------+ 
| count(*) | 
+----------+ 
|      239 | 
+----------+ 
1 row in set (0.00 sec) 

mysql> select 4079*239 
    -> ; 
+----------+ 
| 4079*239 | 
+----------+ 
|   974881 | 
+----------+ 
1 row in set (0.00 sec) 

这里就是计算交叉组合数量,因为他们之间一个相同的关联字段
 

复制代码 代码示例:
mysql> select count(*) from city,country 
    -> ; 
+----------+ 
| count(*) | 
+----------+ 
|   974881 | 
+----------+ 
1 row in set (0.00 sec) 

实际上mysql所做的操作就是把你所查询表的数量相乘得到的结果!
 

复制代码 代码示例:
mysql> select count(*) from city,country,countrylanguage; 
+-----------+ 
| count(*)  | 
+-----------+ 
| 959282904 | 
+-----------+ 
1 row in set (0.02 sec) 
 
mysql> select count(*) from countrylanguage; 
+----------+ 
| count(*) | 
+----------+ 
|      984 | 
+----------+ 
1 row in set (0.00 sec) 
 
mysql> select 4079*239*984; 
+--------------+ 
| 4079*239*984 | 
+--------------+ 
|    959282904 | 
+--------------+ 
1 row in set (0.00 sec)