sqlgroupby

select *,SUM(类别.类别ID) from 产品

left join 类别 on 类别.类别ID = 产品.类别ID

group by 产品.(select * from 产品)

 

怎么group by 保护产品的全部列呀

wl 发布于 2020-9-1 10:56
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
1
ColdmanLv6高级互助
发布于2020-9-1 10:58

group by 不支持*,需要一个字段一个字段列出来

  • wl wl(提问者) 还有其他办法吗
    2020-09-01 10:59 
  • Coldman Coldman 回复 wl(提问者) 没有其他办法,SQL有自己的语法,你得按他的语法来,不能你这么写
    2020-09-01 11:01 
最佳回答
0
Doctor_WeiLv7中级互助
发布于2020-9-1 10:59

group by * 

*换成你的产品表的全部列名

最佳回答
0
snrtuemcLv8专家互助
发布于2020-9-1 10:59

老实点,需要的列全部写出来,这样有问题的

select 列1,列2,列3,列4,列5,SUM(类别.类别ID) from 产品

left join 类别 on 类别.类别ID = 产品.类别ID

group by 列1,列2,列3,列4,列5


最佳回答
0
jongwangLv6中级互助
发布于2020-9-1 11:00

应该不能这样,老老实实写出来就行了

SELECT  产品.col1
       ,产品.col2
       ,产品.col3
       ,产品.col4
       ,产品.col5
       ,产品.col6
       ,SUM(类别.类别ID)
FROM 产品
LEFT JOIN 类别
ON 类别.类别ID = 产品.类别ID
GROUP BY  产品.col1
         ,产品.col2
         ,产品.col3
         ,产品.col4
         ,产品.col5
         ,产品.col6


最佳回答
0
豆豆小可爱Lv5中级互助
发布于2020-9-1 11:20

你不想写列名,可以用1,2,3,4代替

最佳回答
0
LarryAbbyLv5中级互助
发布于2020-9-4 17:37(编辑于 2020-9-4 17:37)

sql中尽量避免使用*,最好是使用具体的列,因为sql在解析的过程中,你的*它是需要后台转成一个个具体的字段的,这无形中就增加了成本;不管是从语法,还是从效率上来说,都需要避免使用*

  • 7关注人数
  • 672浏览人数
  • 最后回答于:2020-9-4 17:37
    请选择关闭问题的原因
    确定 取消
    返回顶部