有个表  , id  降水量,加入时间 坐标X 坐标Y 等等字段。
我现在要求的是过去几小时之内的 降水量select sum(降水量) from 表  (where省略)  group by id;
这样是获得的条数是正确的但是当我select sum(降水量) (这里加其他字段)  后面也要在group by 加上哪些字段的时候
获得的结果记录数是不正确的,不知道大家碰到没有?

解决方案 »

  1.   

    select sum(降水量) (这里加其他字段)
    这里其他字段相同的都视为同一条记录,如果其他字段中只有id那么只要id相同就视为同一条记录,对同一个id进行sum运算。当其他字段不唯一时,也就是有好多个其他字段,那么这些字段相同的时候,对相同的这些“其他字段”进行sum运算。你好好看看group by的含义是什么,你就会知道了。希望对你有帮助,谢谢
      

  2.   

    可以先用子查询查询出汇总的值和一个标识值,然后用exists来获取其他字段
      

  3.   

    给个例子 哥,SQL一直少写
      

  4.   

    假设你需要加入id和坐标X,可以用:
    SELECT  a.id ,
            b.降水量,a.坐标X
    FROM    表 a
            INNER JOIN ( SELECT id ,
                                SUM(降水量) 降水量
                         FROM   表(where省略)
                         GROUP BY id
                       ) b ON a.id = b.id