SQL:创建拖车计数
我创建了一个查询,它将输出一个带有标题和详细信息的平面文件。 现在,我想添加一个拖车记录,它将包含详细记录的总计数 我已经使用row_number正确地计算了记录总数,但它显示了每条记录的总数 如何获取最后一行,使其反映拖车行中的总计数 这是我已经为标题和细节创建的代码 SQL> SELECT filerec FROM ( 2 SELECT 'FILENAME' AS filerec, 1 col FROM dual 3 UNION ALL 4 SELECT 'FILEDATE: ' || to_char(SYSDATE,'mm/dd/yyyy') as filerec, 2 col FROM dual 5 UNION ALL 6 SELECT empno || ename AS filerec, NULL col FROM emp 7 ORDER BY 2,1 8 ); SQL>从中选择filerec( 2选择“文件名”作为filerec,从双通道中选择1列 3全体工会 4选择'FILEDATE:'| | to_char(SYSDATE,'mm/dd/yyyy')作为filerec,从双字符中选择2列 5全体工会 6选择empno | | ename作为filerec,从emp中选择NULL col 7按2,1排序 8 ); 这是我想要得到的输出。(添加了最后一个记录“拖车:0004”) 文件名 文件日期:2015年2月27日 7369史密斯 7499艾伦 7521病房 7566琼斯 预告片:0004SQL:创建拖车计数,sql,oracle,Sql,Oracle,我创建了一个查询,它将输出一个带有标题和详细信息的平面文件。 现在,我想添加一个拖车记录,它将包含详细记录的总计数 我已经使用row_number正确地计算了记录总数,但它显示了每条记录的总数 如何获取最后一行,使其反映拖车行中的总计数 这是我已经为标题和细节创建的代码 SQL> SELECT filerec FROM ( 2 SELECT 'FILENAME' AS filerec, 1 col FROM dual 3 UNION ALL 4 SELE
有几种方法可以做到这一点。我更喜欢分组。看看如何使用它。让我们有一个记录集:
SQL> select
2 'Row ' || rownum
3 from
4 dual
5 connect by
6 level <= 5;
'ROW'||ROWNUM
--------------------------------------------
Row 1
Row 2
Row 3
Row 4
Row 5
SQL>select
2“行”| |行数
3来自
4双
5通过连接
6级选择
2例
3当分组_id(rownum)=0时,则为“Row”| | rownum
4其他“总计:”| |计数(*)| |“行”
5端
6来自
7双
8通过连接
9级您是否总是从SQL*Plus运行此命令?使用COUNT(*)和GROUP BY将所有其他选择合并。
SQL> select
2 'Row ' || rownum
3 from
4 dual
5 connect by
6 level <= 5;
'ROW'||ROWNUM
--------------------------------------------
Row 1
Row 2
Row 3
Row 4
Row 5
SQL> select
2 case
3 when grouping_id(rownum) = 0 then 'Row ' || rownum
4 else 'Total: ' || count(*) || ' row(s)'
5 end
6 from
7 dual
8 connect by
9 level <= 5
10 group by rollup (rownum);
CASEWHENGROUPING_ID(ROWNUM)=0T
------------------------------------------------------
Row 1
Row 2
Row 3
Row 4
Row 5
Total: 5 row(s)
6 rows selected