> 백엔드 개발 > PHP 튜토리얼 > PHP mysql如何查询某个字段有多少个不同的值

PHP mysql如何查询某个字段有多少个不同的值

WBOY
풀어 주다: 2016-06-23 13:01:57
원래의
1687명이 탐색했습니다.

举个例子,
在car表有个pinpai字段,
有Lambo,Audi,BMW,Audi,Toyota,Lambo 6个值,
那么这个字段有4个不同的品牌,6辆车
求解如何得出4这个值和6这个值
前台显示的是:"现共有4种品牌车辆,共计6辆。"
-------------------------------------------------------------------------

求大神给个完整的sql select语句 本人新手求实力老司机指点
--------------------------------------------------------------------------
不要复制粘贴 
select pinpai from car group by pinpai 和 select distinct pinpai from car
不是我要的答 因为他们之中缺少数量


回复讨论(解决方案)

create temporary table car (pinpai varchar(10));insert into car values ('Lambo'),('Audi'),('BMW'),('Audi'),('Toyota'),('Lambo');select pinpai, count(*) as cnt from car group by 1
로그인 후 복사
로그인 후 복사
pinpai cnt Audi   2 BMW    1 Lambo  2 Toyota 1 
로그인 후 복사
로그인 후 복사

你没有理解我的意思,你这不是我要的结果,我是要显示 前台显示的是:"现共有4种品牌车辆,共计6辆。" 而不是 把它们每个品牌有多少个显示出来

create temporary table car (pinpai varchar(10));insert into car values ('Lambo'),('Audi'),('BMW'),('Audi'),('Toyota'),('Lambo');select pinpai, count(*) as cnt from car group by 1
로그인 후 복사
로그인 후 복사
pinpai cnt Audi   2 BMW    1 Lambo  2 Toyota 1 
로그인 후 복사
로그인 후 복사

你没有理解我的意思,你这不是我要的结果,我是要显示 前台显示的是:"现共有4种品牌车辆,共计6辆。" 而不是 把它们每个品牌有多少个显示出来

使用group by + count(*)就可以了.

select pinpai, count(*) as num from car group by pinpai;

select count(*) pinpai, sum(cnt) as cnt  from (select pinpai, count(*) as cnt from car group by 1) T
로그인 후 복사
로그인 후 복사
pinpai cnt 4      6 
로그인 후 복사
로그인 후 복사

你是一点数据库知识都不学?

select count(*) pinpai, sum(cnt) as cnt  from (select pinpai, count(*) as cnt from car group by 1) T
로그인 후 복사
로그인 후 복사
pinpai cnt 4      6 
로그인 후 복사
로그인 후 복사

你是一点数据库知识都不学?

 
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿