ORACLE 按表字段值的不同统计数量】的更多相关文章

select p.id comperitorId,p.compcorp competitorName, sum(case when c.kindname = 'ATM' then c.num else 0 end) atm, sum(case when c.kindname = 'CRS' then c.num else 0 end) crs, sum(case when c.kindname = 'VTM' then c.num else 0 end) vtm, sum(case when c…
今天在做 Oracle表字段更新时出现了特殊字符&,导致无法更新. 这个问题是第二次碰到了,所以在此记录下,以备后用. 举例: update t set col1='A&B' where ... 点击执行时,弹出了这个东东,是不是很奇怪? 百度过后知道&字符在Oracle中是特殊字符. 解决方法如下: update t set col1='A'||'&'||'B' where ...…
1.若'GYZL_BZPWL_TB' 为要修改的表名,注意表名一定要大写!此句可以获取表的id.select object_id from all_objects where object_name='GYZL_BZPWL_TB'2.查看表中的字段名和序号,其中后面的条件就是我们第一步中查出来的表IDselect obj#,col#,name from sys.col$ where obj#=38370;3.直接修改表 sys.col,col#列就是字段的顺序列,可以通过修改这列的值来实现字段顺…
Master表字段扩张时的对应方法 如果Master表的数据量很大,Master表中的列,宽度扩张了,MVIEW表如何对应处理? 此时,重建MVIEW可能会耗费很长的时间. 可以采用 alter materialized view modify 的方式来进行.不过,没有官方文档支持. create table TEST(id integer, TEST_NUMBER NUMBER(18,6)); insert into TEST select i+j, i+j   from  (        …
SQL建表时最好不要把表定义成关键字字段 1 若不小心把表定义成关键字了,比如option, desc等等,oracle版本查询会有问题,短期内无法修改字段名称的,暂时用字段名+双引号解决: SELECT "option","DESC" FROM table_1 a 2  取消表中字段source  原本设定的默认值 alter table t_a modify source default null;  -- oracle中sql执行不报错,but 实际数据无法更…
打开sql plus select session_id from v$locked_object;查询出oracle锁定的会话ID SELECT sid, serial#, username, osuser FROM v$session where sid = 1; 查询出当前会话数的信息 ALTER SYSTEM KILL SESSION '200,2141'; 杀掉当前会话 注:'200,2141'是:SID和SERIAL字段进行拼接的  …
) set @TableName = 'Agency' -- 表名 declare @querySql nvarchar(max) set @querySql = 'select ' ) declare My_Cursor cursor for(select name from syscolumns where id = (select max(id) from sysobjects where xtype = 'u' and name = '' + @TableName + '' ) ) op…
前几天,同事问我怎样把字段值转换成字段列,就写了一个最简单的Demo分享一下. 代码如下: -- 创建测试表以及添加测试数据create table #temp(a money,b varchar(10)) /*insert into #temp(a,b) values(10,'1点')insert into #temp(a,b) values(20,'2点')insert into #temp(a,b) values(20,'3点')insert into #temp(a,b) values(…
上次写了个比较简单的只有两个字段的例子,经要求在写个  3 个字段的示例 ,贴上来与大家共勉一下   如果你们有更好的方法,提供一下, 感激不尽. 示例如下: /*--drop table temp_TestCol_ValueToName;-- 创建测试表 (前提 每天每个会员只有一条记录)create table temp_TestCol_ValueToName( userName nvarchar(50), -- 会员名 myMoney money, -- 金额 addTime dateti…
在计算收益率时候,  收益率 = 收益 / 成本 一.如果成本为0,NULL,此时无法计算收益率: 方法: 1.将成本为0的数据 运算 (case when  cost =0 or cost is null then 0  else  income/cost end) as yeild; else amount1 END) as total,init_date from data_stock1 GROUP BY account,init_date; SELECT account, CASE TH…