Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何按表的次数顺序列出表';你在MYSQL中使用过吗?_Mysql_Sql - Fatal编程技术网

如何按表的次数顺序列出表';你在MYSQL中使用过吗?

如何按表的次数顺序列出表';你在MYSQL中使用过吗?,mysql,sql,Mysql,Sql,我需要让脚本列出关系表的名称以及每个表被使用的总次数 结果必须按每个关系表使用的总次数的降序排列 以下是我目前的代码: WITH ALLDRINKS_COUNT AS ( SELECT 'ALLDRINKS' TABLE_NAME, COUNT(*) FROM mysql.general_log WHERE argument LIKE '%ALLDRINKS%'), SERVES_COUNT AS( SELECT 'SERVES' TABLE_NAME, COUNT(*) FROM mysql.

我需要让脚本列出关系表的名称以及每个表被使用的总次数

结果必须按每个关系表使用的总次数的降序排列

以下是我目前的代码:

WITH ALLDRINKS_COUNT AS (
SELECT 'ALLDRINKS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%ALLDRINKS%'),
SERVES_COUNT AS(
SELECT 'SERVES' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%SERVES%'),
ORDERS_COUNT AS (
SELECT 'ORDERS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%ORDERS%'),
LIKES_COUNT AS (
SELECT 'LIKES' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%LIKES%'), 
LOCATED_COUNT AS (
SELECT 'LOCATED' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%LOCATED%'), 
DRINKERS_COUNT AS (
SELECT 'DRINKERS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%DRINKERS%') 

SELECT * FROM ALLDRINKS_COUNT
UNION 
SELECT * FROM SERVES_COUNT
UNION
SELECT * FROM ORDERS_COUNT
UNION 
SELECT * FROM LIKES_COUNT
UNION
SELECT * FROM LOCATED_COUNT
UNION 
SELECT * FROM DRINKERS_COUNT;
下面是输出的样子:

+------------+----------+
| TABLE_NAME | COUNT(*) |
 +------------+----------+
| ALLDRINKS  |        5 |
| SERVES     |       12 |
| ORDERS     |        6 |
| LIKES      |        5 |
| LOCATED    |        1 |
| DRINKERS   |        2 |
+------------+----------+
6 rows in set (0.00 sec)
所需输出为:

+------------+----------+
| TABLE_NAME | COUNT(*) |
+------------+----------+
| SERVES     |       12 |
| ORDERS     |        6 |
| ALLDRINKS  |        5 |
| LIKES      |        5 |
| DIRNKERS   |        2 |
| LOCATED    |        1 |
+------------+----------+
6 rows in set (0.00 sec)

尝试这样子查询查询

SELECT TABLE_NAME, COUNT_A FROM(

WITH ALLDRINKS_COUNT AS (
SELECT 'ALLDRINKS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%ALLDRINKS%'),
SERVES_COUNT AS(
SELECT 'SERVES' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%SERVES%'),
ORDERS_COUNT AS (
SELECT 'ORDERS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%ORDERS%'),
LIKES_COUNT AS (
SELECT 'LIKES' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%LIKES%'), 
LOCATED_COUNT AS (
SELECT 'LOCATED' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%LOCATED%'), 
DRINKERS_COUNT AS (
SELECT 'DRINKERS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%DRINKERS%') 

SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM ALLDRINKS_COUNT
UNION 
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM SERVES_COUNT
UNION
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM ORDERS_COUNT
UNION 
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM LIKES_COUNT
UNION
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM LOCATED_COUNT
UNION 
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM DRINKERS_COUNT) t
ORDER BY COUNT_A DESC;

尝试这样子查询查询

SELECT TABLE_NAME, COUNT_A FROM(

WITH ALLDRINKS_COUNT AS (
SELECT 'ALLDRINKS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%ALLDRINKS%'),
SERVES_COUNT AS(
SELECT 'SERVES' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%SERVES%'),
ORDERS_COUNT AS (
SELECT 'ORDERS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%ORDERS%'),
LIKES_COUNT AS (
SELECT 'LIKES' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%LIKES%'), 
LOCATED_COUNT AS (
SELECT 'LOCATED' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%LOCATED%'), 
DRINKERS_COUNT AS (
SELECT 'DRINKERS' TABLE_NAME, COUNT(*)
FROM mysql.general_log
WHERE argument LIKE '%DRINKERS%') 

SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM ALLDRINKS_COUNT
UNION 
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM SERVES_COUNT
UNION
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM ORDERS_COUNT
UNION 
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM LIKES_COUNT
UNION
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM LOCATED_COUNT
UNION 
SELECT TABLE_NAME, COUNT(*) AS COUNT_A FROM DRINKERS_COUNT) t
ORDER BY COUNT_A DESC;

错误1140(42000):在没有GROUP BY的聚合查询中,SELECT列表的表达式#1包含未聚合的列“ALLDRINKS_COUNT.TABLE_NAME”;这与sql_mode=only_full_group_byI不兼容我只参与了您的查询的一部分,我没有数据示例来运行任何测试,但我假设您的查询正在运行,因此解决方案应该可以运行。错误1140(42000):在没有分组依据的聚合查询中,选择列表的表达式#1包含未聚合的列“AllDiffers_COUNT.TABLE_NAME”;这与sql_mode=only_full_group_By不兼容我只接受了你查询的一部分,我没有数据示例可以运行任何测试,但我假设你的查询正常,因此解决方案应该正常。请参阅:请参阅: