下面的语句是求和语句:但是sum(列名) 对某一列的值求和,但属性必须是整型
select sum(字段)as a from table where .....现在我的列属性为varchar类型,请问怎么求和?请老师指点,比较急!!

解决方案 »

  1.   

    select sum(0+字段) as a from table where .....
      

  2.   

    建表语句贴一下吧,我怀疑LZ要的不是 sum(),可能是count()...
      

  3.   

    字段名 字段类型  宽度 说明
    芯片编号   varchar         20 字符 非NULL
    芯片批次   varchar         20 字符 非NULL
    芯片型号   varchar         20 字符 非NULL
    员工工号   varchar         10 字符 非NULL
    检测时间   varchar         20 字符 非NULL
    缺陷类型   varchar         20 字符 非NULL
    检测项   varchar         10 字符 非NULL
    检测结果   varchar         6 字符 非NULL
    错误个数   varchar         10 字符 非NULL
    错误比例   varchar         20 字符 非NULL
    现在对错误个数这列求值!!
      

  4.   

    是COUNT(*)?
    SELECT 字段名,COUNT(*) FROM TT GROUP BY 字段名
      

  5.   

    直接用sum就可以啊!mysql> show create table test;
    +-------+-----------------------------------
    ------------------------+
    | Table | Create Table
                            |
    +-------+-----------------------------------
    ------------------------+
    | test  | CREATE TABLE `test` (
      `wrong` varchar(20) default NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +-------+-----------------------------------mysql> select sum(wrong) from test;
    +------------+
    | sum(wrong) |
    +------------+
    |        114 |
    +------------+
    1 row in set (0.00 sec)
      

  6.   

    直接SUM就行了,MYSQL会自动转换啊。或者你提供一下你的错误信息。
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  7.   

    你的mysql版本是?
    SUM(expr) 
    返回expr的和。注意,如果返回的集合没有行,它返回NULL! 
      

  8.   

    求和是对的,但是我建议你把你的VARCHAR修改为整型吧。要不,效率低下。