【问题标题】:TeraData Query to get min and max from a tableTeraData 查询以从表中获取最小值和最大值
【发布时间】:2017-01-20 03:43:57
【问题描述】:

我有一个名为HMS_PGHL8_HQID_MAP_DEMO 的表和一个名为UDMTOOL_STG 的数据库。

以下查询获取我需要的值。

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 最小
  2. 记录 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;

请求您帮助解决问题。

【问题讨论】:

  • 当您的查询似乎是 Teradata SQL 时,为什么要标记 mysql
  • 我不明白你的要求,你想得到只有两行的结果吗?带有最小值和最大值 record_id?
  • 是的..我只需要 2 行...所以我需要两个查询

标签: database teradata


【解决方案1】:

您可以使用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

;

【讨论】:

    猜你喜欢
    • 2022-11-25
    • 2019-03-13
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多