首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于group by 有关问题 返回多字段记录数不正确

2013-04-05 
关于group by 问题 返回多字段记录数不正确有个表, id降水量,加入时间 坐标X 坐标Y 等等字段。我现在要求的

关于group by 问题 返回多字段记录数不正确
有个表  , id  降水量,加入时间 坐标X 坐标Y 等等字段。
我现在要求的是过去几小时之内的 降水量

select sum(降水量) from 表  (where省略)  group by id;
这样是获得的条数是正确的

但是当我select sum(降水量) (这里加其他字段)  后面也要在group by 加上哪些字段的时候
获得的结果记录数是不正确的,不知道大家碰到没有?
[解决办法]

引用:
有个表  , id  降水量,加入时间 坐标X 坐标Y 等等字段。
我现在要求的是过去几小时之内的 降水量

select sum(降水量) from 表  (where省略)  group by id;
这样是获得的条数是正确的

但是当我select sum(降水量) (这里加其他字段)  后面也要在group by 加上哪些字段的时候
获得的结果记录数……



select sum(降水量) (这里加其他字段)
这里其他字段相同的都视为同一条记录,如果其他字段中只有id那么只要id相同就视为同一条记录,对同一个id进行sum运算。当其他字段不唯一时,也就是有好多个其他字段,那么这些字段相同的时候,对相同的这些“其他字段”进行sum运算。你好好看看group by的含义是什么,你就会知道了。希望对你有帮助,谢谢
[解决办法]
可以先用子查询查询出汇总的值和一个标识值,然后用exists来获取其他字段
[解决办法]
假设你需要加入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

热点排行