簡體   English   中英

選擇COUNT個值,按同一列分組,在另一列上不同

[英]Selecting a COUNT of values, grouped by that same column, distinct on another

這是一個示例架構:

| type_id | university_id |
---------------------------
|    1    |      u01      |
|    2    |      u01      |
|    2    |      u01      |
|    3    |      u02      |
|    4    |      u02      |

我想要的是對具有相同university_iduniversity_id本身的記錄數量進行計數,並且它一定不能包含type_id重復項,因此對於上面給出的相同數據,結果看起來像這樣:

| university_id | COUNT(university_id) |
----------------------------------------
|      u01      |          2           |
|      u02      |          2           |

現在,我正在嘗試以下操作,但是它顯然會給我COUNT(u01) 3而不是2

SELECT university_id, COUNT(university_id) FROM table GROUP BY university_id

是否可以做我想做的事情,如果可以,怎么做?

您應該按type_id唯一地計數,而不type_id university_id計數

SELECT university_id, COUNT(DISTINCT type_id) TotalCount
FROM   tableName
GROUP  BY university_id

您需要在type_id列上添加一個count(distinct)

select university_id, count(distinct type_id)
from table
group by university_id

暫無
暫無

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

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