簡體   English   中英

列中每個重復數字的SQL計數

[英]SQL Count for Each Repeated Number in Column

我有這個

m_id    p_id
112      8
340      8
928     16
190     16
290     16
... etc

我怎么得到這個?

p_id    count(p_id)
8          2
16         3

我很困惑,因為我還想確保它在保持m_id值不同的同時對p_id進行計數。

請幫助,謝謝:)

樣本數據

  CREATE TABLE #temp
                  (
             m_id INT, p_id INT
                  );

INSERT INTO #temp
VALUES
       (112, 8
       ),
       (340, 8
       ),
       (928, 16
       ),
       (190, 16
       ),
       (290, 16
       );

查詢:

SELECT p_id, COUNT(*) [count(p_id)]
FROM #temp
GROUP BY p_id;

結果: 在此處輸入圖片說明

我相信您想要這樣的東西:

SELECT p_id, count(distinct m_id) from myTable group by p_id;

這是因為,如果您要計算與每個p_id相關聯的不重復m_id的數量,如果只想計算表中p_id的數量,請刪除distinct關鍵字。

暫無
暫無

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

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