这条sql语句对吗??报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

这条sql语句对吗??报错

爱吃鱼的程序员 2020-06-14 15:37:46 22

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语句也没有报错啊,我自己都迷糊了,请教大神!

SQL
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-14 15:38:02

    没什么不对


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

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

    selecta.mac, '2015-06-04'add_date,count(a.mac)asnumfromwifi_authlistainnerjoinwifi_shopsona.shopid=s.idwheres.idin(selectidfromwifi_shopwherepid=3)anda.add_date='2015-06-04'groupbya.mac;

    oracle还是mysql?groupby时的语法是不一样的
    我这是mysql的,这样写有问题吗? 你这是mysql?偶尔用一下,记不清楚,好像不会错,但oracle应该会报错 我这是mysql的 selecta.macasnumfromwifi_authlistainnerjoinwifi_shopsona.shopid=s.idwheres.idin(selectidfromwifi_shopwherepid=3)anda.add_date='2015-06-04'groupbya.mac;oracle中聚合用到了聚合函数则查询结果中只能返回被聚合函数影响的函数我这是mysql
    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题