假如有如下表test_table,(假如id为主键,唯一)有如下记录 id name 1 a 2 b 3 c 4 c 5 b 6 b 经过查询后,想要得到有多少条不重复的name,以及每条name的id数量(number) 结果如下 name number a 1 b 3 c 2 也就是说,先要查看有多少name(不重复的),然后查看每个不重复的name有多少条记录 我想用distinct来实现,但是遇到问题,请问如何高效解决?
select name,count(*) from test_table group by name这样?
一楼的语句就可以产生 name number a 1 b 3 c 2 这个结果select name,count(*) as `number` from test_table group by name
select name,count(*) number from test_table group by name
果然强悍!我也刚想到用group,试了下,成功!Thanks!
select name,count(*) as `number1` from test_table group by name; --查询有几个不同的name select count(distinct name) as number2 from test_table; --得到有多少条不重复的name
name number
a 1
b 3
c 2
这个结果select name,count(*) as `number` from test_table group by name
select name,count(*) as `number1` from test_table group by name;
--查询有几个不同的name
select count(distinct name) as number2 from test_table;
--得到有多少条不重复的name