Mysql 将同一列中的两个用户角色相加

Mysql 将同一列中的两个用户角色相加,mysql,Mysql,如何计算所有用户的总和,我有两个不同的用户。一个是学生,另一个是教师 SELECT (SELECT COUNT(user_role) FROM tbl_users WHERE user_role = 'student') as student, (SELECT COUNT(user_role) FROM tbl_users WHERE user_role = 'instructor') as instructor, (SELECT SUM(user_role) FROM tbl_users)

如何计算所有用户的总和,我有两个不同的用户。一个是学生,另一个是教师

SELECT
(SELECT COUNT(user_role) FROM tbl_users WHERE user_role = 'student') as student, 
(SELECT COUNT(user_role) FROM tbl_users WHERE user_role = 'instructor') as instructor,
(SELECT SUM(user_role) FROM tbl_users) as totaluser
为什么不把结果加为1 在totaluser中?它是1+0=1。应至少有1个总用户

2种选择; 1-您可以将union all用于不同选择的总和

SELECT name, COUNT(name) AS count
FROM table
GROUP BY name

UNION ALL

SELECT 'SUM' name, COUNT(name)
FROM table
或 二,-


你可以这样写: '从选择中选择学生、讲师、学生+讲师作为总和 从tbl_用户中选择COUNTuser_role,其中user_role='student'作为学生, 从tbl_用户中选择COUNTuser_角色,其中user_角色=‘讲师’表’

这是您需要的

select student, instructor, student+instructor totaluser FROM ( 
select 
sum( if( user_role = 'student', 1, 0 ) ) AS student, 
sum( if( user_role = 'instructor', 1, 0 ) ) AS instructor  
from tbl_users ) t_alias
SELECT student, instructor, (SUM(student)+SUM(instructor)) AS totaluser
FROM tbl_users
select student, instructor, student+instructor totaluser FROM ( 
select 
sum( if( user_role = 'student', 1, 0 ) ) AS student, 
sum( if( user_role = 'instructor', 1, 0 ) ) AS instructor  
from tbl_users ) t_alias