SELECT Id, Type, ItemId, convert(count(*) , SIGNED) AS num  FROM  pointList  GROUP BY Id,Type,ItemId;
这样返回的num字段 怎么还是count函数返回的long类型  而不是转换后的int类型呢我换成cast 替换 convertSELECT Id, Type, ItemId, CAST(count(*)  AS SIGNED)  AS num FROM  pointList  GROUP BY Id,Type,ItemId;
结果还long类型 而不是num类型 求各位大哥看看怎么写sql 才能满足 num是int类型的

解决方案 »

  1.   

    mysql中貌似没有long类型4个字节内一般是int,4~8字节一般是bigint
      

  2.   

    来自 MySQL 文档的解释:COUNT(expr) [over_clause]Returns a count of the number of non-NULL values of expr in the rows retrieved by a SELECT statement. The result is a BIGINT value.https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_count
      

  3.   

    这样改,不确定一定可以,但是可以试试看。
    另外想确认一下,这个字段的类型,您是在哪看到的,应该不是SQL里吧,其它的语言,比如JAVA,类型可能和SQL有差异。
    SELECT Id, Type, ItemId, count(*) + 0 AS num  FROM  pointList  GROUP BY Id,Type,ItemId;
      

  4.   

    发现数据库的返回都是string ,不是二进制.