[英]MySQL query for COUNT Distinct rows
I have a mysql table with two columns 'test-id' and 'q-id'. 我有一个带有两列“ test-id”和“ q-id”的mysql表。 'test-id' range is from 1 to 160 and each value of those
test-id
has upto 100 'q-id'. “ test-id”的范围是1到160,这些
test-id
每个值最多可以包含100个“ q-id”。
ex: test-id q-id
1 126 #first row
1 134 #second row
...
1 66 #hundred row
SELECT COUNT(DISTINCT `q-id`)
from `test`
WHERE `test-id` = 1; #answer is 100
I want to count which test-id has how many q-id. 我想算出哪个test-id有多少个q-id。 how to do it in a single query?
如何在一个查询中做到这一点?
要理解的关键语句是GROUP BY语句。
SELECT "test-id", COUNT(DISTINCT "q-id") as qid_count FROM "test" GROUP BY "test-id"
SELECT testid, COUNT(DISTINCT q-id) from test Group by testid
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.