您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何抑制或隐藏SQL中的重复值?

如何抑制或隐藏SQL中的重复值?

您最好在客户端中抑制它的重复(例如,在Jasper Reports中取消选中Print Repeated Value或在XML set中isPrintRepeatedValues="false"

WITH ns 
         AS (SELECT Row_number() OVER (PARTITION BY name ORDER BY id) rn, 
                    id, 
                    name, 
                    registered 
             FROM   t 
             WHERE  registered = 'N') 
    SELECT t.id, 
           t.name, 
           ns.id, 
           ns.name 
    FROM   ns 
           LEFT JOIN t 
             ON ns.name = t.name 
                AND t.registered = 'Y' 
                AND ns.rn = 1 
    WHERE  ns.name IN (SELECT name 
                       FROM   t 
                       WHERE  registered = 'Y')

    ORDER  BY ns.name

SELECT t.id, 
       t.name, 
       ns.id, 
       ns.name 
FROM   t ns 
       LEFT JOIN (SELECT MIN(id) id, 
                         name 
                  FROM   t 
                  WHERE  registered = 'N' 
                  GROUP  BY name) MINNS 
         ON ns.id = MINNS.id 
       LEFT JOIN t 
         ON ns.name = t.name 
            AND t.registered = 'Y' 
            AND MINNS.id IS NOT NULL 
WHERE  ns.registered = 'N' 
       AND ns.name IN (SELECT name 
                       FROM   t 
                       WHERE  registered = 'Y') 
ORDER  BY ns.name, 
          ns.id
SQLServer 2022/1/1 18:48:11 有306人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶