例如,如果我有一张人拥有的DVD表,就像这样
OWNER TITLE
---------------------------------
Jennifer | Ghostbusters
Jennifer | Jurassic Park
Alex | Titanic
Jennifer | Aliens
Jack | Seinfeld
Jack | Baby's Day Out
Alex | Jurassic Park
我想知道每个OWNER有多少行,比如
Jennifer | 3
Alex | 2
Jack | 2
我该怎么做?我知道如何计算 有多少OWNER,但不知道每个OWNER有多少行。到目前为止,我一直在使用多个语句 - 选择所有者(不同的所有者),创建一个返回名称的数组,然后为数组中的每个项目发出一个“select where count from owner = array [i]” - 但这似乎不是明智的做法。
答案 0 :(得分:2)
select count(1) as COUNT,OWNER from DVDS group by OWNER
答案 1 :(得分:2)
我认为拥有以下查询:select count (1) from dvds group by owner
可以解决这个问题。这假设dvds是你的表名
答案 2 :(得分:2)
使用计数功能和GROUP BY
要分组的列。
SELECT OWNER, COUNT(*)
FROM DVD
GROUP BY OWNER
答案 3 :(得分:0)
所有者的DVD数量:
select owner, count(*) from dvd group by owner
所有者提供的唯一DVD数量:
select owner, count(*)
from (select distinct owner, title from dvd) x
group by owner