2016-09-12 19 views
1

HMS_PGHL8_HQID_MAP_DEMOというテーブルとUDMTOOL_STGという名前のテーブルがあります。TeraDataテーブルから最小値と最大値を取得するクエリ

以下のクエリでは、私はreuired値を取得します。

SELECT udm_main.RECORD_ID AS record_id ,udm_main.HMS_PGH_NODE_ID AS hms_pgh_node_id, 
     udm_main.HMS_PGH_NODE_NAME AS hms_pgh_node_name ,udm_main.HQ_NODE_ID AS hq_node_id, udm_main.HQ_NODE_NAME AS hq_node_name, 
     udm_main.NODE_TYPE_IND as node_type_ind,UPDATED_ON,UPDATED_BY, 
     INSERT_TS FROM UDMTOOL_STG.HMS_PGHL8_HQID_MAP_DEMO udm_main 
WHERE op_code <> 'D' OR op_code IS NULL 
ORDER BY RECORD_ID,HMS_PGH_NODE_ID,HQ_NODE_ID 
GROUP BY 1,2,3,4,5,6,7,8,9; 

今私は、その総行の値を取得する必要があります。

  1. レコードIDが最大

としてレコードID

  • 分である下記ない作品、

    を行うことに注意してくださいを
    SELECT MIN(udm_main.RECORD_ID AS) record_id ,udm_main.HMS_PGH_NODE_ID AS hms_pgh_node_id, 
          udm_main.HMS_PGH_NODE_NAME AS hms_pgh_node_name ,udm_main.HQ_NODE_ID AS hq_node_id, udm_main.HQ_NODE_NAME AS hq_node_name, 
          udm_main.NODE_TYPE_IND as node_type_ind,UPDATED_ON,UPDATED_BY, 
          INSERT_TS FROM UDMTOOL_STG.HMS_PGHL8_HQID_MAP_DEMO udm_main 
        WHERE op_code <> 'D' OR op_code IS NULL 
        ORDER BY RECORD_ID,HMS_PGH_NODE_ID,HQ_NODE_ID 
        GROUP BY 1,2,3,4,5,6,7,8,9; 
    

    問題を解決するための私たちの助け。

    +0

    クエリがTeradata SQLのように見える場合、なぜmysqlにタグを付けるのですか? – dnoeth

    +1

    私はあなたの要件を理解していない、あなたは2つの行だけで結果を取得したいですか? minとmaxの 'record_id'を使って? – dnoeth

    +0

    はい..私は2行しか必要としません...だから私は2つのクエリが必要です –

    答えて

    3

    あなたはMIN/MAXをフィルタリングするQUALIFYを使用することができます。

    SELECT udm_main.RECORD_ID,udm_main.HMS_PGH_NODE_ID AS hms_pgh_node_id, 
         udm_main.HMS_PGH_NODE_NAME AS hms_pgh_node_name,udm_main.HQ_NODE_ID AS hq_node_id, udm_main.HQ_NODE_NAME AS hq_node_name, 
         udm_main.NODE_TYPE_IND as node_type_ind,UPDATED_ON,UPDATED_BY, 
         INSERT_TS 
    FROM UDMTOOL_STG.HMS_PGHL8_HQID_MAP_DEMO udm_main 
    WHERE op_code <> 'D' OR op_code IS NULL 
    GROUP BY 1,2,3,4,5,6,7,8,9 
    QUALIFY udm_main.RECORD_ID = MIN(udm_main.RECORD_ID) OVER() 
        OR udm_main.RECORD_ID = MAX(udm_main.RECORD_ID) OVER() 
    ORDER BY RECORD_ID 
    

    +0

    あなたはgeniousです!!ありがとうトン...これは@dnoeth作品 –

    関連する問題