菜鸟mysql疑问,求大神帮忙

Pory 2016-08-10 04:10:22
主要有两个疑问
1、SELECT COUNT(user_lv_cd='56') FROM TABLE和语句
SELECT COUNT(*) FROM TABLE WHERE user_lv_cd='56'统计的结果为什么不一样?

2、如果要统计占比该怎么写?我想统计下表中user_lv_cd='56'占总数的比例
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2016-08-10
  • 打赏
  • 举报
回复
SELECT COUNT(user_lv_cd='56') FROM TABLE 返回 TABLE 中所有 user_lv_cd 不为空的记录。 如果想理解为什么,则亲自执行一下 SELECT user_lv_cd='56' FROM TABLE 就明白了。 知识点是理解 user_lv_cd='56' 返回什么? 及理解 select count(1234) from table返回是什么。
Pory 2016-08-10
  • 打赏
  • 举报
回复
引用 1 楼 zjcxc 的回复:
sum(if(user_lv_cd='56',1,0))/count(*)
这个可以完成任务。
Pory 2016-08-10
  • 打赏
  • 举报
回复
引用 2 楼 wangjian0228 的回复:
SELECT COUNT(user_lv_cd='56') FROM TABLE 没有这种写法 用这种

  SELECT COUNT(*) /(  SELECT COUNT(*) FROM TABLE) FROM TABLE WHERE user_lv_cd='56'
这种写法报错,如下 FAILED: ParseException line 1:17 cannot recognize input near 'SELECT' 'COUNT' '(' in expression specification
致命的西瓜 2016-08-10
  • 打赏
  • 举报
回复
SELECT COUNT(user_lv_cd='56') FROM TABLE 没有这种写法 用这种

  SELECT COUNT(*) /(  SELECT COUNT(*) FROM TABLE) FROM TABLE WHERE user_lv_cd='56'
zjcxc 2016-08-10
  • 打赏
  • 举报
回复
sum(if(user_lv_cd='56',1,0))/count(*)

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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