MySQL查询计数为1';s出现在反馈表的不同列中

MySQL查询计数为1';s出现在反馈表的不同列中,mysql,sql,Mysql,Sql,我想统计一下commskill、abilityskill、interest、presentation、methodology、maintensclass、守时、态度列中出现的所有“1”。 我的“反馈”表有以下列: Fid反馈,我会的 Tname-教师姓名 Sname主题名称 学生姓名-学生姓名 班级学生 班级 沟通技巧-沟通技巧 能力技能——教学能力 演讲-教师的演讲技巧 方法-教师遵循的教学方法 兴趣-学生对老师的课的兴趣 守时——教师的守时 维护课堂-维护课堂纪律 态度-教师对学生的态度

我想统计一下
commskill
abilityskill
interest
presentation
methodology
maintensclass
守时
态度
列中出现的所有“1”。 我的“反馈”表有以下列:

  • Fid反馈,我会的
  • Tname-教师姓名
  • Sname主题名称
  • 学生姓名-学生姓名
  • 班级学生
  • 班级
  • 沟通技巧-沟通技巧
  • 能力技能——教学能力
  • 演讲-教师的演讲技巧
  • 方法-教师遵循的教学方法
  • 兴趣-学生对老师的课的兴趣
  • 守时——教师的守时
  • 维护课堂-维护课堂纪律
  • 态度-教师对学生的态度 *tid-教师ID
fid的值是自动递增的,所有技能的等级为(1-优秀、2-良好、3-平均、4-低于平均)

我已经尝试过这个查询:

select tname,sname,count(*) as excellent from feedback where commskill=1 or attitude =1 or presentation =1 or abilityskill=1 or interest=1 or punctual =1 or maintainsclass=1 or methodology =1 group by tid;

但是答案是出乎意料的和错误的。

要在commskill、abilityskill、interest、presentation、methodology、Maintaints Class、守时、态度等栏中获得“1”的总出现率

   SELECT
      sum(if(commskill=1,1,0)
    + sum(if(attitude =1,1,0)
    + sum(if(presentation =1,1,0)
    + sum(if(abilityskill=1,1,0)
    + sum(if(interest=1,1,0)
    + sum(if(punctual =1,1,0) 
    + sum(if(maintainsclass=1,1,0) 
    + sum(if(methodology =1,1,0)
   AS excellent
   FROM feedback;
为每位老师取得成绩

SELECT 
tname
, sname
, sum(if(commskill=1,1,0)
  + sum(if(attitude =1,1,0)
  + sum(if(presentation =1,1,0)
  + sum(if(abilityskill=1,1,0)
  + sum(if(interest=1,1,0)
  + sum(if(punctual =1,1,0) 
  + sum(if(maintainsclass=1,1,0) 
  + sum(if(methodology =1,1,0)
同样优秀 来自反馈
tid分组

在commskill、abilityskill、interest、presentation、methodology、Maintaints Class、守时、态度列中获得“1”的总出现率

   SELECT
      sum(if(commskill=1,1,0)
    + sum(if(attitude =1,1,0)
    + sum(if(presentation =1,1,0)
    + sum(if(abilityskill=1,1,0)
    + sum(if(interest=1,1,0)
    + sum(if(punctual =1,1,0) 
    + sum(if(maintainsclass=1,1,0) 
    + sum(if(methodology =1,1,0)
   AS excellent
   FROM feedback;
为每位老师取得成绩

SELECT 
tname
, sname
, sum(if(commskill=1,1,0)
  + sum(if(attitude =1,1,0)
  + sum(if(presentation =1,1,0)
  + sum(if(abilityskill=1,1,0)
  + sum(if(interest=1,1,0)
  + sum(if(punctual =1,1,0) 
  + sum(if(maintainsclass=1,1,0) 
  + sum(if(methodology =1,1,0)
同样优秀 来自反馈 tid分组