现有表,两个字段,公司名(主键,字符型),关键字(字符型)
表结构示例如下:
公司名 关键字
上海宝钢 $无缝钢$$冷轧钢$$优质钢$
武汉钢铁厂 $无缝钢$$低碳钢$$中碳钢$
攀枝花钢铁厂 $优质钢$$中碳钢$$$
辽宁钢铁厂 $优质钢$$$$$
如上所示,每个关键字字段有 1 到 3 个关键词(无缝钢,优质钢。。),用$$格开 现在想统计所有关键词的数量,并排序。请问高手如何解决?
表结构示例如下:
公司名 关键字
上海宝钢 $无缝钢$$冷轧钢$$优质钢$
武汉钢铁厂 $无缝钢$$低碳钢$$中碳钢$
攀枝花钢铁厂 $优质钢$$中碳钢$$$
辽宁钢铁厂 $优质钢$$$$$
如上所示,每个关键字字段有 1 到 3 个关键词(无缝钢,优质钢。。),用$$格开 现在想统计所有关键词的数量,并排序。请问高手如何解决?
解决方案 »
- 删除子表速度太慢
- pl/sql 关于层次树的部分语句不太懂
- 如何向global temporary table中增加栏位?
- 如何还原数据库中的某个表?
- 数据库操作为什么不能执行
- Error 数��供方内部错误(-3001)
- 用 sqlplus 连接,都是用什么身份登陆的?normal,dba?
- OCCI getStirng 报内存错误
- 我在装ORACLE的时候提示不能确定主机的IP地址。。。。
- 高手请进!急!!在线等待!系统正常使用中,突然ORACEL服务自动停止,贴出错误LOG,请教!!
- 求助:Oracle warehouse builder 安装设置
- 谁有oci.h文件,给我拷一份可以不?我邮箱:[email protected]
from test4
order by countCOM是 公司名
key是 关键字
-- --------------------
x a
y abc
z abe
w dbeSQL> create table test_csdn1 as select substr(b,1,1) as col1,substr(b,2,1) as col2,
2 substr(b,3,1) as col3
3 from test_csdn;表被创建SQL> select * from test_csdn1;COL1 COL2 COL3
---- ---- ----
a
a b c
a b e
d b eSQL> select 'a',count(*) from test_csdn1
2 where col1='a' or nvl(col2,'-1')='a' or nvl(col3,'-1')='a'
3 union all
4 select 'b',count(*) from test_csdn1
5 where nvl(col1,'-1')='b' or nvl(col2,'-1')='b' or nvl(col3,'-1')='b'
6 union all
7 select 'c' ,count(*) from test_csdn1
8 where nvl(col1,'-1')='c' or nvl(col2,'-1')='c' or nvl(col3,'-1')='c'
9 ;'A' COUNT(*)
-------------------------------- ----------
a 3
b 3
c 1