sql表关联查询里面加入group by子句?

chenjing1104 2011-05-31 03:21:52

select count(1) as ipsum, i.ip from ip as i INNER JOIN addIp as a ON i.ip = a.ip where username='dh002' and data='2011-5-31' group by i.ip with rollup


我这样查询会出错
提示说:列 'a.wbName' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

如果我去掉a.wbName这个字段,查询也来的又不是我想要的结果

两个表都有相同的IP字段,只是要把相同的IP字段对应的网吧名查询出来就可以了
但是这样写有问题,请SQL高手帮忙
...全文
604 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hl362496158 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 chenjing1104 的回复:]
引用 10 楼 losimo 的回复:

group by后面的要与select后面的参数相符


是按照上面回复这样写的呀


SQL code

select count(1) as ipsum, i.ip,a.wbName from ip as i INNER JOIN addIp as a ON i.ip = a.ip where username='dh002' a……
[/Quote]


这样写应该就可以了啊 !
laowang134 2011-05-31
  • 打赏
  • 举报
回复
我让你给点测试数据啊。。
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 laowang134 的回复:]

给点数据吧。。。
[/Quote]

给数据那还显示的多些,一条数据查询出来显示三条,两条数据查询出来不显示六条了?
laowang134 2011-05-31
  • 打赏
  • 举报
回复
给点数据吧。。。
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 laowang134 的回复:]

就你那样写。。数据多了两条就对了吧。。以前没多的是因为少了。。
[/Quote]

但是我数据库里只有一条数据呀,就是加上group by子句才多出两条的,有什么方法只显示实数据一条
laowang134 2011-05-31
  • 打赏
  • 举报
回复
就你那样写。。数据多了两条就对了吧。。以前没多的是因为少了。。
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 laowang134 的回复:]

聚合的列不一致。。标准是按所有不同的项聚合的。。
[/Quote]

那应该要怎么写
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 losimo 的回复:]

group by后面的要与select后面的参数相符
[/Quote]

是按照上面回复这样写的呀


select count(1) as ipsum, i.ip,a.wbName from ip as i INNER JOIN addIp as a ON i.ip = a.ip where username='dh002' and data='2011-5-31' group by i.ip,a.wbName with rollup

laowang134 2011-05-31
  • 打赏
  • 举报
回复
聚合的列不一致。。标准是按所有不同的项聚合的。。
Losimo 2011-05-31
  • 打赏
  • 举报
回复
group by后面的要与select后面的参数相符
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
为什么会多出两条记录呀?
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
为什么会多出两条记录?
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
怎么多了两条记录,应该只显示一条记录的呀
心灵彩虹 2011-05-31
  • 打赏
  • 举报
回复
你前边没有a.wbName啊。
chenjing1104 2011-05-31
  • 打赏
  • 举报
回复
加上去了,但是查询出来没有显示这个字段的结果
liue_0612 2011-05-31
  • 打赏
  • 举报
回复
group by 后面加a.wbName
心灵彩虹 2011-05-31
  • 打赏
  • 举报
回复
心灵彩虹 2011-05-31
  • 打赏
  • 举报
回复
将a.wbName 加入gooup by中
laowang134 2011-05-31
  • 打赏
  • 举报
回复
group by 后面也加上a.wbName

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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