统计数据库表中一个表内一列里不同数据的总数

如:姓名宠物张三猫张三猫张三狗李四狗如果selectcount(宠物)from宠物表where姓名=张三groupby宠物会显示21意思为猫2只够2只如果想要显示结果为2... 如:
姓名 宠物
张三 猫
张三 猫
张三 狗
李四 狗
如果
select count(宠物)from 宠物表 where 姓名=张三 group by 宠物
会显示
2
1
意思为猫2只够2只
如果想要显示结果为
2
意思为张三 有2种宠物
要怎么改写代码
下面的代码是错的 求改正
select count(*) from (select count(宠物)from 宠物表 where 姓名=张三 group by 宠物)
上面打错字了。。应该是
会显示
2
1
意思为猫2只狗1只
展开
 我来答
姿行天下
2013-02-04 · 超过10用户采纳过TA的回答
知道答主
回答量:20
采纳率:100%
帮助的人:18.6万
展开全部
列名前 加上DISTINCT就行了,这样同样的宠物就计算1次,如下:
select count(distinct 宠物)from 宠物表 where 姓名=张三
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
lilu54321
2013-02-04
知道答主
回答量:10
采纳率:0%
帮助的人:5.9万
展开全部
select count(宠物) from (select 宠物,count(宠物) 宠物数 from 宠物表 where 姓名=张三 group by 宠物)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kuer200906
2013-02-04 · TA获得超过812个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:118万
展开全部
SELECT COUNT(NUM) FROM

(
select count(宠物) AS NUM from 宠物表 where 姓名=张三 group by 宠物
) AS T
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
啊973001040
2013-08-14
知道答主
回答量:8
采纳率:0%
帮助的人:1.2万
展开全部
aaaaaaaaaaaaa
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式