Sub fun1() '统计每一个sheet有多少行数据 Set s1 = Sheets("Sheet1") 'totalok = 0 To Sheets.Count s1.Cells(i, ) = Sheets(i).Name r = Sheets(i).Range("A65535").End(xlUp).Row s1.Cells(i, ) = r Then totalok = totalok + r End If Next s1.Cells(, ) = tota
sum(if(条件,列值,0))语法用例: select name,sum(if(subject="语文",score,0)) as "语文" from grade GROUP BY name if中第一个参数为条件,符合条件的内容才会将第二个参数相加,不符合的内容将第三个参数相加. 第二个参数为要相加的参数,可以用常量,也可以用字段值. 第三个参数为条件为假时相加的值,通常设为0. 为了将行转为列(这种操作一般用于统计),可使用如下语句: select name,
Oracle一列的多行数据拼成一行显示字符 oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数. www.2cto.com 先介绍:WMSYS.WM_CONCAT 例: id name 1 aa 2 bb 3 cc 要的结果是"aa,bb,cc" select WMSYS.WM_CONCAT(a.name) from user a 这样的话,查询出的结果:
emo场景,以oracle自带库中的表emp为例: select ename,deptno from emp order by deptno; ENAME DEPTNO CLARK 10 KING 10 MILLER 10 SMITH 20 ADAMS 20 FORD 20 SCOTT 20 JONES 20 ALLEN 30 BLAKE 30 MARTIN 30 JAMES 30 TURNER 30 WARD 30 现在想要将同一部门的人给合并成一行记录,如何做呢?如下: ENAME DEPT
oracle 分组取第一行数据 SELECT * FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, t.* FROM test1 t ) WHERE rn = 1; 查找oracle 执行的语句 select t.*from v$sqlarea t where t.FIRST_LOAD_TIME like '2018-11-05%' order by t.FIRST_LOAD_TIME desc