Sql 如何也从下面的DB2查询中检索行/记录计数?

Sql 如何也从下面的DB2查询中检索行/记录计数?,sql,db2,record,rowcount,Sql,Db2,Record,Rowcount,还需要根据以下查询选择总记录数。我该怎么做呢 SELECT DISTINCT t.Creator AS TABLE_SCHEMA, t.Name AS Table_Name, c.Name AS COLUMN_NAME, c.COLTYPE AS DATA_TYPE, CASE WHEN c.KEYSEQ = 1 THEN 'Primary Key' ELSE NULL END AS CONSTRAINT_TYPE, NULL AS DATA_PRECISION, NULL AS DATA_

还需要根据以下查询选择总记录数。我该怎么做呢


SELECT DISTINCT t.Creator AS TABLE_SCHEMA, t.Name AS Table_Name, c.Name AS COLUMN_NAME, 
c.COLTYPE AS DATA_TYPE, CASE WHEN c.KEYSEQ = 1 THEN 'Primary Key' ELSE NULL END AS CONSTRAINT_TYPE, NULL AS DATA_PRECISION, NULL AS DATA_SCALE 
    FROM SYSIBM.SYSTABLES t 
        INNER JOIN SYSIBM.SYSCOLUMNS c ON c.TBNAME = t.Name
    WHERE t.Creator='MY_SCHEMA_NAME' AND t.Name='MY_TABLE_NAME'

任何帮助都将不胜感激,谢谢

还需要根据以下查询选择总记录数

这种选择似乎是多余的。系统表不应具有重复项。如果您得到的是重复的,可能是因为连接条件不完整-您应该同时连接表名和创建者

所以只要使用COUNT*

对于任何SELECT语句,包括您的语句:

SELECT T.*, COUNT(1) OVER() AS ROW_COUNT
FROM
(
SELECT DISTINCT t.Creator AS TABLE_SCHEMA, t.Name AS Table_Name, c.Name AS COLUMN_NAME, 
c.COLTYPE AS DATA_TYPE, CASE WHEN c.KEYSEQ = 1 THEN 'Primary Key' ELSE NULL END AS CONSTRAINT_TYPE, NULL AS DATA_PRECISION, NULL AS DATA_SCALE 
    FROM SYSIBM.SYSTABLES t 
        INNER JOIN SYSIBM.SYSCOLUMNS c ON c.TBNAME = t.Name
    WHERE t.Creator='MY_SCHEMA_NAME' AND t.Name='MY_TABLE_NAME'
) T;

您的意思是用编程语言还是仅仅用SQL?您希望如何准确地获得总记录数?在所有行具有相同值的附加列中?不知为什么?是否要获取查询返回的表数?或者每个表中的行数?@Mark Barinstein-是,所有行都有一个值相同的附加列。@a_horse_woth_no_name每个表中的行数我希望仍然能够从同一查询中选择所需的其他值though@weovibewvoibweoivwoiv . . . 你的问题不是这样问的。这回答了您实际提出的问题。但是,您可以使用正确的联接条件将count*over添加到固定查询中,以添加具有该计数的附加列。
SELECT T.*, COUNT(1) OVER() AS ROW_COUNT
FROM
(
SELECT DISTINCT t.Creator AS TABLE_SCHEMA, t.Name AS Table_Name, c.Name AS COLUMN_NAME, 
c.COLTYPE AS DATA_TYPE, CASE WHEN c.KEYSEQ = 1 THEN 'Primary Key' ELSE NULL END AS CONSTRAINT_TYPE, NULL AS DATA_PRECISION, NULL AS DATA_SCALE 
    FROM SYSIBM.SYSTABLES t 
        INNER JOIN SYSIBM.SYSCOLUMNS c ON c.TBNAME = t.Name
    WHERE t.Creator='MY_SCHEMA_NAME' AND t.Name='MY_TABLE_NAME'
) T;