【问题标题】:how to delete repeated values in UNION query using count如何使用计数删除 UNION 查询中的重复值
【发布时间】:2022-09-29 00:20:09
【问题描述】:

您好我一直在尝试使用以下结果(图像)删除以下 UNION 查询中的重复值。如何过滤掉 AANTALLN =0 的值 LW_ID=8232。如果在第一个查询中找到 AANTALLN >0,我需要找到一种方法,然后在联合查询的第二部分不再插入它。谢谢\"

With LESEENHEIDLOOPBAAN as (
  SELECT 
    LE_AGENDA_FK, 
    LE_CODE, 
    LE_ID, 
    LE_KLAS_FK, 
    LE_KLASPARTITIE_FK, 
    LE_OMSCHRIJVING, 
    LE_VERANDERDDOOR, 
    LE_VERANDERDOP, 
    Count(LH_ID) As AantalLln 
  FROM 
    LESEENHEID 
    INNER JOIN LOOPBAANLESEENHEID on (LH_LESEENHEID_FK = LE_ID) 
    INNER JOIN LOOPBAAN ON (LH_LOOPBAAN_FK = LB_ID) 
  WHERE 
    (
      \'2022/09/28\' BETWEEN LB_VAN 
      AND LB_TOT
    ) 
    AND (
      LE_ID in (8277, 8276, 8232)
    ) 
  GROUP BY 
    LE_AGENDA_FK, 
    LE_CODE, 
    LE_ID, 
    LE_KLAS_FK, 
    LE_KLASPARTITIE_FK, 
    LE_OMSCHRIJVING, 
    LE_VERANDERDDOOR, 
    LE_VERANDERDOP
), 
LESEENHEIDLOOPBAANNULL AS (
  SELECT 
    LE_AGENDA_FK, 
    LE_CODE, 
    LE_ID, 
    LE_KLAS_FK, 
    LE_KLASPARTITIE_FK, 
    LE_OMSCHRIJVING, 
    LE_VERANDERDDOOR, 
    LE_VERANDERDOP, 
    0 As AantalLln 
  FROM 
    LESEENHEID 
  where 
    LE_ID in (8277, 8276, 8232) 
    and EXISTS (
      SELECT 
        * 
      FROM 
        LESEENHEIDLOOPBAAN 
      where 
        LESEENHEIDLOOPBAAN.LE_ID <> 8277
    )
) 
SELECT 
  * 
FROM 
  LESEENHEIDLOOPBAAN 
UNION 
SELECT 
  * 
FROM 
  LESEENHEIDLOOPBAANNULL ROWS 1000

    标签: sql firebird


    【解决方案1】:

    使用 ROW_NUMBER 试试这个:

        SELECT * FROM (   SELECT 
              ROW_NUMBER () OVER (PARTITION BY LW_ID ORDER BY AANTALLN DESC) AS RN
              ,* 
              FROM (
                SELECT 
                  * 
                FROM 
                  LESEENHEIDLOOPBAAN 
                UNION 
                SELECT 
                  * 
                FROM 
                  LESEENHEIDLOOPBAANNULL ROWS 1000
                )
               ) 
    ) WHERE RN = 1
    

    这样您就可以消除重复项。

    【讨论】:

      猜你喜欢
      • 2021-01-30
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      • 2018-01-07
      相关资源
      最近更新 更多