找文章 / 找答案
精选问答 更多内容

[常用脚本] sql

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-27 08:56:46 |阅读模式 打印 上一主题 下一主题
1
已解决

【常用脚本】 sql

2391 9

我要在第一张图“市场级别”右边统计“一级、二级市场”的数量,我想到的是用case when,但是一直报错,然后我发现我这么写count也报错?请问这是为什么,麻烦写一下第一张图需求的sql,感谢感谢
0327市场级别个数.jpg 0327count报错.jpg 0327sql报错.jpg

最佳答案

yhtech-karine 青铜一 关注Ta

2022-03-27 08:56:47

count报错是因为没有设置别名,导致产品找不到合适的名称,添加上as 市场级别名称就可以。 用case when是可以的,但是要这么写: select 市场级别, (case when 市场级别='一级市场' then count(市场级别) when 市场级别='二级市场' then count(市场级别) else 0 end)as 市场级别数量 from 咖啡中国市场销售数据 group by 市场级别 ...
查看完整内容
回复

使用道具 举报

精彩评论9

yhtech-karine青铜一 显示全部楼层 发表于 2022-3-27 08:56:47
yhdata_MB5fOVHS 发表于 2022-3-27 10:22
嗯嗯谢谢,底层处理数据性能会好一些,那我那么写count为什么报错呀,可以用case when 实现嘛,我后面肯 ...

count报错是因为没有设置别名,导致产品找不到合适的名称,添加上as 市场级别名称就可以。
用case when是可以的,但是要这么写:
select 市场级别,
(case when  市场级别='一级市场' then count(市场级别)
when  市场级别='二级市场' then count(市场级别)
else 0
end)as 市场级别数量
from 咖啡中国市场销售数据
group by 市场级别
回复

使用道具 举报

yhtech-karine青铜一 显示全部楼层 发表于 2022-3-27 09:10:24
您好,方便告知一下您用的产品型号及版本吗,谢谢
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-27 09:42:25
yhtech-karine 发表于 2022-3-27 09:10
您好,方便告知一下您用的产品型号及版本吗,谢谢

desktop 9.4.1,我只能在自己这边先实现,公司用的内网,发不了截图,麻烦您解决一下需求和问题呀,感谢
回复

使用道具 举报

yhtech-karine青铜一 显示全部楼层 发表于 2022-3-27 09:57:35
您这边是只希望通过SQL实现这个需求吗? 我们的产品可以通过其他方式实现您的需求的,在制作报告页面,选中普通表,先拖入市场级别,再将市场级别转换成度量列后再次拖入表内,就可以算出一级二级的数量。
回复

使用道具 举报

yhtech-karine青铜一 显示全部楼层 发表于 2022-3-27 10:00:47
yhdata_MB5fOVHS 发表于 2022-3-27 09:42
desktop 9.4.1,我只能在自己这边先实现,公司用的内网,发不了截图,麻烦您解决一下需求和问题呀,感谢 ...

如果是想用SQL实现的话,请试一下如下SQL:
SELECT 市场级别, count(市场级别) as 市场级别数量
from 咖啡中国市场销售数据
group by 市场级别
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-27 10:22:15
yhtech-karine 发表于 2022-3-27 10:00
如果是想用SQL实现的话,请试一下如下SQL:
SELECT 市场级别, count(市场级别) as 市场级别数量
from 咖 ...

嗯嗯谢谢,底层处理数据性能会好一些,那我那么写count为什么报错呀,可以用case when 实现嘛,我后面肯定会用到case when then else end的,感谢
我这么写不对
select case 市场级别
when  一级市场 then count(市场级别)
when 二级市场 then count(市场级别)
else 0
end
from 咖啡中国市场销售数据
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-27 10:40:01
yhtech-karine 发表于 2022-3-27 10:32
count报错是因为没有设置别名,导致产品找不到合适的名称,添加上as 市场级别名称就可以。
用case when是 ...

嗯嗯,真的十分感谢,之前不用接触sql,最近刚在学,如果是不存在的列名,永洪必须得设置别名是嘛?那永洪写sql还有一些类似这种需要注意的嘛
回复

使用道具 举报

yhtech-karine青铜一 显示全部楼层 发表于 2022-3-27 10:43:30
yhdata_MB5fOVHS 发表于 2022-3-27 10:40
嗯嗯,真的十分感谢,之前不用接触sql,最近刚在学,如果是不存在的列名,永洪必须得设置别名是嘛?那永 ...

是的,对于不存在的列名,是需要设置的。如果您后续碰到其他问题,可以再在论坛上提问的~
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-27 10:59:58
yhtech-karine 发表于 2022-3-27 10:43
是的,对于不存在的列名,是需要设置的。如果您后续碰到其他问题,可以再在论坛上提问的~ ...

好的,谢谢啦
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部