Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 选择仅显示1个结果和错误结果的计数_Mysql - Fatal编程技术网

Mysql 选择仅显示1个结果和错误结果的计数

Mysql 选择仅显示1个结果和错误结果的计数,mysql,Mysql,我想搜索表1,并计算在“经验”列中哪个编号最多5 表1 +-------------+------------+ | number_id | experience | +-------------+------------+ | 20 | 5 | | 20 | 5 | | 19 | 1 | | 18 | 2 | | 15 | 3

我想搜索表1,并计算在“经验”列中哪个编号最多5

表1

+-------------+------------+
| number_id   | experience |
+-------------+------------+
|  20         |  5         |
|  20         |  5         |
|  19         |  1         |
|  18         |  2         |
|  15         |  3         |
|  13         |  1         |
|  10         |  5         |
+-------------+------------+
所以在这种情况下,它将是number_id=20

然后在表2中进行内部联接,并映射与表1中的编号\u id匹配的编号

表2

+-------------+------------+
| id          | number     |
+-------------+------------+
|  20         |  000000000 |
|  29         |  012345678 |
|  19         |  123456789 |
|  18         |  223456789 |
|  15         |  345678910 |
|  13         |  123457898 |
|  10         |  545678910 |
+-------------+------------+
因此,结果将是:

000000000 (2 results of 5)
545678910 (1 result of 5)
到目前为止,我已经:

SELECT number, experience, number_id, COUNT(*) AS SUM FROM TABLE1
INNER JOIN TABLE2 ON TABLE1.number_id = TABLE2.id
WHERE experience = '5' order by SUM LIMIT 10
但它只是回来了

545678910 
我如何才能让它返回结果,并按经验列中5个实例的数量顺序返回结果


谢谢

此查询将为您提供所需的结果。子查询获取所有经验值为5的数字\ id。sumperience=5之所以有效,是因为MySQL使用1表示true,0表示false。然后子查询的结果被连接到表2,以给出数字字段。最后,结果按经验数=5排序:

输出:

number      num_fives
000000000   2
545678910   1

此查询将为您提供所需的结果。子查询获取所有经验值为5的数字\ id。sumperience=5之所以有效,是因为MySQL使用1表示true,0表示false。然后子查询的结果被连接到表2,以给出数字字段。最后,结果按经验数=5排序:

输出:

number      num_fives
000000000   2
545678910   1
添加GROUPBY子句:

SELECT number, experience, number_id, COUNT(*) AS SUM
FROM TABLE1
JOIN TABLE2 ON TABLE1.number_id = TABLE2.id
WHERE experience = '5'
GROUP BY 1, 2, 3 -- <<< Added this clause
ORDER BY SUM
LIMIT 10
添加GROUPBY子句:

SELECT number, experience, number_id, COUNT(*) AS SUM
FROM TABLE1
JOIN TABLE2 ON TABLE1.number_id = TABLE2.id
WHERE experience = '5'
GROUP BY 1, 2, 3 -- <<< Added this clause
ORDER BY SUM
LIMIT 10

您应该使用mysql标记您的问题,以及/而不是mysqli,它们将被更多的人看到。我已经为你做了这个问题。你应该用mysql标记你的问题,以及/而不是mysqli,它们会被更多的人看到。我已经为你做了这个问题。