这条sql语句对吗?

这条sql语句对吗?

静谧 发布于 2021-11-24 字数 356 浏览 643 回复 7

select a.mac,a.add_date,count(a.mac) as num from wifi_authlist a inner join wifi_shop s on a.shopid = s.id where s.id in (select id from wifi_shop where pid=3) and a.add_date = '2015-06-04' group by a.mac;

看着网上说select中的字段要么出现在聚合函数中,要么出现在group by的后面,可是我的这条sql语句也没有报错啊,我自己都迷糊了,请教大神!

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

岁吢 2021-12-01 7 楼

我这是mysql

深巷少女 2021-12-01 6 楼

select a.mac as num from wifi_authlist a inner join wifi_shop s on a.shopid = s.id where s.id in (select id from wifi_shop where pid=3) and a.add_date = '2015-06-04' group by a.mac;oracle中聚合用到了聚合函数则查询结果中只能返回被聚合函数影响的函数

初见你 2021-12-01 5 楼

我这是mysql的

清晨说ぺ晚安 2021-12-01 4 楼

你这是mysql? 偶尔用一下,记不清楚,好像不会错,但oracle应该会报错

虐人心 2021-12-01 3 楼

我这是mysql的,这样写有问题吗?

流心雨 2021-12-01 2 楼

oracle还是mysql?group by时的语法是不一样的

终遇你 2021-12-01 1 楼

错了 group by a.mac,a.add_date 看你是要看一天的还是怎么?

如果时间是固定的也可以 改成 :

select a.mac,'2015-06-04' add_date,count(a.mac) as num from wifi_authlist a inner join wifi_shop s on a.shopid = s.id where s.id in (select id from wifi_shop where pid=3) and a.add_date = '2015-06-04' group by a.mac;