Oracle Group By语句特殊使用方法请教

无锡阔微信息科技 2012-10-16 03:19:31
A B C D E
16 HD. HD!HD. 2 董事局
17 HD.0 HD!HD.0 2 总裁班子
18 TY.11 HD!TY!TY.11 3 斜胶公司
19 TY.10 HD!TY!TY.10 3 全钢二公司
20 TY.12 HD!TY!TY.12 3 外贸配套公司
21 XD.04 HD!XD!XD.04 3 稽查风控部
22 XG.00 HD!XG!XG.00 3 总经理室

现在想达到的目的为:
C列想按照'HD'字符串来统计,也就是C列数据中包含'HD'字符串的一共有多少条记录。必须用Group By 语句
...全文
301 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
f0restwow 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:
select count(1) from ** where d like "%HD%" group by d

这个达不到效果
[/Quote]
楼主你表达的不就是这个意思么。。
select count(1) from ** where c like '%HD%' group by d
xzdaicoolio 2012-10-17
  • 打赏
  • 举报
回复
select t.*,count(c) OVER (PARTITION BY c)from t; 这样好像也行。
xzdaicoolio 2012-10-17
  • 打赏
  • 举报
回复
select count(*) from ** where c like "%HD%" group by c;

你描述的就是这个意思吧。
huaizhong08 2012-10-17
  • 打赏
  • 举报
回复
SELECT SUM(CASE WHEN C LIKE '%HD%' THEN 1 ELSE 0 END ),
SUM(CASE WHEN C LIKE '%HD!HD.0%' THEN 1 ELSE 0 END ),
SUM(CASE WHEN C LIKE '%HD!TY%' THEN 1 ELSE 0 END ),
COUNT(0)
FROM **
  • 打赏
  • 举报
回复
够深奥啊 果断的不懂
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
select count(1) from ** where d like "%HD%" group by d
[/Quote]
这个达不到效果
jjyv70 2012-10-16
  • 打赏
  • 举报
回复
select count(1) from ** where d like "%HD%" group by d
  • 打赏
  • 举报
回复
16 HD. HD!HD. 2 董事局
17 HD.0 HD!HD.0 2 总裁班子
18 TY.11 HD!TY!TY.11 3 斜胶公司
19 TY.10 HD!TY!TY.10 3 全钢二公司
20 TY.12 HD!TY!TY.12 3 外贸配套公司
21 XD.04 HD!XD!XD.04 3 稽查风控部
22 XG.00 HD!XG!XG.00 3 总经理室

例如:
包含'HD'的有7行数据
包含'HD!HD.0'的有1行数据
包含HD!TY'的有3行数据

  • 打赏
  • 举报
回复
不大理解 查询包涵hd的数据 要用到group by? 列出想要的查询结果看看
  • 打赏
  • 举报
回复
高手帮帮忙啊

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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