代码之家  ›  专栏  ›  技术社区  ›  priyanka.sarkar

SQL Server中的字符计数

  •  0
  • priyanka.sarkar  · 技术社区  · 15 年前

    输入:AA1

    输出将是:

    Char  Count
    A     2
    1     1
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   gbn    15 年前

    这更容易,因为它是简单的计数,而不是在你的另一个问题中的连续计数。

    DECLARE @Numbers TABLE (Num smallint NOT NULL PRIMARY KEY)
    
    INSERT @Numbers (Num)
    SELECT TOP 12
        ROW_NUMBER() OVER (ORDER BY c1.NAME)
    FROM
        sys.columns c1
    
    DECLARE @STuff TABLE (Seq char(12) NOT NULL PRIMARY KEY)
    
    INSERT @STuff (Seq) VALUES ('12AABCCDDDDE')
    INSERT @STuff (Seq) VALUES ('333345RRRR11')
    
    SELECT
       Seq, Single, COUNT(*)
    FROM
       @Numbers N
       CROSS APPLY 
       (SELECT Seq, SUBSTRING(Seq, Num, 1) AS Single FROM @Stuff) S
    GROUP BY
       Seq, Single
    HAVING
        COUNT(*) > 1
    ORDER BY
        Seq, Single