簡體   English   中英

SAP HANA SQL | 計算同一列中的不同投影值

[英]SAP HANA SQL | Count different projected values in the same column

我在 SAP HANA 中有以下查詢。 我投影了一列,在數百萬行中顯示 02 結果。 我想計算每個 DISTINCT ZCGNOTAL 有多少這兩個結果。

請幫我。

SELECT ZCGINSTAL, 
       ZCGNOTAL, 
       "Latitude",
       CASE WHEN "Latitude" > '0' THEN 'ZERADA' ELSE 'COORDENADA' END AS COORD
FROM "CLB162585"."062021MOM"

正如我所理解的問題,OP 想知道,對於ZCGNOTAL每個值,在計算列COORD有多少記錄具有“ZERADA”的值以及有多少記錄具有“COORDENADA”的值。

這可以通過一個簡單的多列GROUP BY和現有查詢的COUNT聚合“on-top”來計算:

WITH base_data as (
   SELECT   ZCGINSTAL
          , ZCGNOTAL 
          , "Latitude"
          , CASE 
              WHEN "Latitude" > '0' THEN 'ZERADA' 
              ELSE 'COORDENADA' 
            END AS     COORD
FROM 
     "CLB162585"."062021MOM")
SELECT
     ZCGNOTAL
   , COORD
   , COUNT(*) as COORD_CNT 
FROM 
   base_data
GROUP BY
     ZCGNOTAL
   , COORD

如果需要,可以將查詢重寫為不使用公用表表達式 (WITH CLAUSE) 或子查詢,但對於 SAP HANA,這不太可能產生更好的性能。 HANA 無論如何都會在優化之前重寫查詢,並且解析子查詢是重寫過程的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM