Mysql 如何形成此sql查询?

Mysql 如何形成此sql查询?,mysql,sql,Mysql,Sql,这会产生如下结果: SELECT state,count(*) as regular FROM X group by state AL 10 AK 20 AZ 25 SELECT state,count(*) as regular FROM X where alcohol_use=TRUE group by state 这会产生如下结果: SELECT state,count(*) as regular FROM X group by state AL 10 AK 20

这会产生如下结果:

SELECT state,count(*) as regular 
FROM X 
group by state
AL 10
AK 20 
AZ 25

SELECT state,count(*) as regular 
FROM X 
where alcohol_use=TRUE 
group by state
这会产生如下结果:

SELECT state,count(*) as regular 
FROM X 
group by state
AL 10
AK 20 
AZ 25

SELECT state,count(*) as regular 
FROM X 
where alcohol_use=TRUE 
group by state
我需要一个查询,找出百分比,并为我提供如下输出

AL 5
AK 10
AZ 20
提前谢谢

AL 50%
AK 50%
AZ 80%
SUM(酒精使用=TRUE)
表达式将酒精使用=TRUE的值相加,这是
TRUE
false
的值,然后相应地隐式转换为
1
0

实现此“部分计数”的一种方法是将
case
表达式与您的条件相加。例如:

  SELECT state,
         SUM(alcohol_use=TRUE) / COUNT(*) * 100
    FROM X
GROUP BY state