帮看下我的sql有什么错误,我改怎么修改.

cheneyfeng3 2008-07-16 05:18:24
SELECT sum(a.peoplecount),a.total,u.name,u.deptid,d.id,d.deptname
FROM allowance a,users u,dept d
where
u.id=a.userid and u.deptid=d.id
and u.id=14 or u.id=19
group by d.deptname
我写这个语句的意思是 查找allowance 表中peoplecount字段在以users表里面u.deptId分组的情况下,求和.但是我这个求和,求出来的好像是把所有所有dept列出来,然后再求和,这样数据求和保证是错误请大家帮我看看我该如何修改.表的关系是
allowance 表里面有 userid
users表里面有 deptid
...全文
88 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheneyfeng3 2008-08-19
  • 打赏
  • 举报
回复
原因是因为sql的优先级运算问题
cheneyfeng3 2008-07-16
  • 打赏
  • 举报
回复
那请问我怎么加这个聚合函数。我group by u.deptid,d.deptname我这样查过这个total的和还是不正确,是把我找到的total值还据加了很多次,好像连续加了dept表里面的数据条数。
pilishou 2008-07-16
  • 打赏
  • 举报
回复
SELECT sum(a.peoplecount),d.id,d.deptname
FROM allowance a,users u,dept d
where
u.id=a.userid and u.deptid=d.id
and u.id=14 or u.id=19
group by d.deptname


up up
passer_ming 2008-07-16
  • 打赏
  • 举报
回复
4楼说的对
你的group by字段要用到聚合函数中

或者非group by字段追加到聚合函数里
lip009 2008-07-16
  • 打赏
  • 举报
回复
a.total,u.name这两个字段不是分组字段,无法查出来,必须要用到统计函数或添加到分组当中
你的SQL应该运行不了
laorer 2008-07-16
  • 打赏
  • 举报
回复
其它字段,你另外查过,或者你把这个放到子查询中
laorer 2008-07-16
  • 打赏
  • 举报
回复
SELECT sum(a.peoplecount),d.id,d.deptname
FROM allowance a,users u,dept d
where
u.id=a.userid and u.deptid=d.id
and u.id=14 or u.id=19
group by d.deptname

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧