Mysql 列出表中唯一值的计数
我有一个MySQL表,其中有一些字段,允许用户记录他们看到的不同飞机,包括类型、注册、日期、位置等。我想做的是创建一个查询,将“类型”字段下的所有不同唯一值进行统计,并将其相加,以便用户可以看到他们看到的不同“类型”(飞机)数量。我使用了以下查询Mysql 列出表中唯一值的计数,mysql,sql,Mysql,Sql,我有一个MySQL表,其中有一些字段,允许用户记录他们看到的不同飞机,包括类型、注册、日期、位置等。我想做的是创建一个查询,将“类型”字段下的所有不同唯一值进行统计,并将其相加,以便用户可以看到他们看到的不同“类型”(飞机)数量。我使用了以下查询 SELECT `type`,COUNT(*) as count FROM `spotted_list` GROUP BY type ORDER BY count DESC 这对整个数据库来说非常有效,生成这样的结果 type
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服务器版本对应的手册,以了解在“WHEREusername
附近使用的正确语法,如“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:需要更多帮助吗?