Mysql 列出表中唯一值的计数

Mysql 列出表中唯一值的计数,mysql,sql,Mysql,Sql,我有一个MySQL表,其中有一些字段,允许用户记录他们看到的不同飞机,包括类型、注册、日期、位置等。我想做的是创建一个查询,将“类型”字段下的所有不同唯一值进行统计,并将其相加,以便用户可以看到他们看到的不同“类型”(飞机)数量。我使用了以下查询 SELECT `type`,COUNT(*) as count FROM `spotted_list` GROUP BY type ORDER BY count DESC 这对整个数据库来说非常有效,生成这样的结果 type

我有一个MySQL表,其中有一些字段,允许用户记录他们看到的不同飞机,包括类型、注册、日期、位置等。我想做的是创建一个查询,将“类型”字段下的所有不同唯一值进行统计,并将其相加,以便用户可以看到他们看到的不同“类型”(飞机)数量。我使用了以下查询

SELECT `type`,COUNT(*) as count 
FROM `spotted_list` 
GROUP BY type  
ORDER BY count DESC
这对整个数据库来说非常有效,生成这样的结果

type            count Descending
B.737-800   802
AIRBUS A320 781
Boeing 737-800  716
A'bus A320  463
A330-200    371
但是我想过滤购买用户名,所以我尝试了这个

SELECT `type`,COUNT(*) as count 
FROM `spotted_list` 
GROUP BY type 
ORDER BY count DESC 
WHERE `username` LIKE 'admin'
因此,希望这将显示上述计数列表,但只为用户称为'管理员',但这是我得到的

错误
SQL查询:文档

SELECT  `type` , COUNT( * ) AS count
FROM  `spotted_list` 
GROUP BY TYPE 
ORDER BY count DESC 
WHERE  `username` LIKE  'admin'
LIMIT 0 , 30
MySQL说:文档

SELECT  `type` , COUNT( * ) AS count
FROM  `spotted_list` 
GROUP BY TYPE 
ORDER BY count DESC 
WHERE  `username` LIKE  'admin'
LIMIT 0 , 30
#1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在“WHERE
username
附近使用的正确语法,如“admin” 第1行的0,30'极限


有人知道怎么回事吗???

关键字的顺序是固定的。是的

select
from
join
where
group by
having
order by 
limit

其中的
应位于
分组依据之前

SELECT  `type` , COUNT( * ) AS count
FROM  `spotted_list` 
WHERE  `username` LIKE  'admin'
GROUP BY TYPE ORDER BY count DESC 
LIMIT 0 , 30

@user3717671:需要更多帮助吗?