2014-12-11 106 views

回答

1

嘗試此查詢..

SELECT YourColumn, COUNT(*) TotalCount 
    FROM YourTable 
    GROUP BY YourColumn 
    HAVING COUNT(*) > 1 
    ORDER BY COUNT(*) DESC 
+0

我認爲只會在列中找到重複項。我需要在一列中顯示唯一的tags_id,然後在另一列中分配序列號的數量。 – PBJu 2014-12-11 05:17:00

0

什麼Dyrandz了,但你要求計算每標籤ID序列號的數量相似。

DECLARE @YourTable AS TABLE (
    tag_id  INT, 
    serial_no VARCHAR(100) 
) 

INSERT INTO @YourTable (tag_id, serial_no) 
VALUES (1, 'abc'), (2, 'cde'), (3, 'def'), (1, 'xyz'), (3, 'lmn') 


SELECT tag_id, COUNT(serial_no) AS TotalSerialNumbers 
FROM @YourTable 
GROUP BY tag_id 
ORDER BY 2 DESC 
+0

我認爲這將工作,但我得到一個SQL0440N錯誤(沒有授權例程名爲「COUNT」類型「FUNCTION」具有兼容的參數被發現)。我需要使用CAST轉換序列號字段。我試過了 - 選擇tag_id,count(將serial_number轉換爲整數) - 但沒有奏效。有任何想法嗎? – PBJu 2014-12-11 14:56:07

+0

得到它的工作。我只是用COUNT(1)替換了COUNT(serial_no)。它忽略列的名稱並返回所需的輸出。感謝你們兩位,穆斯先生和Dyrandz。 – PBJu 2014-12-11 16:55:22