这是我的SQL语句,帮看看是不是sql语句问题
mysql> select   Number as 学号,
sum(case `Subject` when '数学' then Sources end) as '数学',
sum(case `Subject` when '英语' then Sources end) as '英语',
sum(case `Subject` when '语文' then Sources end) as '语文',
SUM(Sources) as 总分, AVG(Sources) as 平均分
from   test
group   by   Number;
+------+------+------+------+------+---------+
| 学号 | 数学 | 英语 | 语文 | 总分 | 平均分  |
+------+------+------+------+------+---------+
|    1 | NULL | NULL | NULL | 205  | 68.3333 |
|    2 | NULL | NULL | NULL | 183  | 61.0000 |
|    3 | NULL | NULL | NULL | 80   | 80.0000 |
|    4 | NULL | NULL | NULL | 0    | 0.0000  |
|    5 | NULL | NULL | NULL | 91   | 91.0000 |
+------+------+------+------+------+---------+在mysql管理工具里面只能查出总分和平均分,而不能查出语文,数学,英语的科目成绩

解决方案 »

  1.   

    命令行工具中既然可以查到,则说明不是SQL语句的问题。应该是字符集设置的问题, 检查你的字符集。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    我在命令行中查出的结果是这样的,+------+------+------+------+------+---------+
    | 学号 | 数学 | 英语 | 语文 | 总分 | 平均分  |
    +------+------+------+------+------+---------+
    |    1 |   70 |   75 |   60 |  205 | 68.3333 |
    |    2 |   53 |   75 |   55 |  183 | 61.0000 |
    |    3 | NULL | NULL |   80 |   80 | 80.0000 |
    |    4 |    0 | NULL | NULL |    0 |  0.0000 |
    |    5 | NULL |   91 | NULL |   91 | 91.0000 |
    |    6 | NULL | NULL | NULL | NULL |    NULL |
    +------+------+------+------+------+---------+
    哪一科目有成绩都有显示的