Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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_Count_Where Clause - Fatal编程技术网

Mysql 搜索并返回不同的行及其重复计数

Mysql 搜索并返回不同的行及其重复计数,mysql,count,where-clause,Mysql,Count,Where Clause,我已在以下URL上创建了SQL FIDLE,用于测试和构建查询: 考虑我的表的以下结构: TABLE1 +-------------------------+ | Username | Event ID | +-------------------------+ | Jhon | ABC | | Nick | ABC | | Hen | ABC | | Jhon | DEF | |

我已在以下URL上创建了SQL FIDLE,用于测试和构建查询:

考虑我的表的以下结构:

TABLE1 +-------------------------+ | Username | Event ID | +-------------------------+ | Jhon | ABC | | Nick | ABC | | Hen | ABC | | Jhon | DEF | | Jhon | ABC | +-------------------------+ 请告诉我如何写这样的查询

谢谢

select min(username) as username, 
       eventid, 
       count(eventid) as event_count
from table1
where username = 'Jhon'
group by eventid
order by event_count desc

在MySQL中,您可以在使用分组依据时选择非聚合列。但在大多数DB引擎中,您需要对所有未按分组的列使用聚合函数。由于
username
不是按分组的,所以我选择了
min
作为聚合函数。在MySQL中,您可以在使用
按分组的同时选择一个非聚合列。但在大多数DB引擎中,您需要对所有未按分组的列使用聚合函数。因为
username
不是按分组的,所以我选择
min
作为聚合函数。
select min(username) as username, 
       eventid, 
       count(eventid) as event_count
from table1
where username = 'Jhon'
group by eventid
order by event_count desc