MySQL计数多个GroupBy

  • 本文关键字:GroupBy MySQL mysql sql
  • 更新时间 :
  • 英文 :


我有这样的数据

id  otherid name    
1   123     banana
2   123     banana
3   123     banana
4   456     grape
5   456     grape
6   789     orange
7   111     banana

我怎么能得到这样的输出:(MySQL查询)

name    count
banana  2
grape   1
orange  1

试试这个:

SELECT 
f.`name`,
COUNT(DISTINCT (f.`otherid`)) 
FROM
`fruits` f 
GROUP BY f.`name` 

您可以使用COUNTGROUP BY:

SELECT
`name`, COUNT(*)
FROM
write_you_table_name
GROUP BY
`name`,`otherid`

建议在count功能中使用distinct。但是,如果您不喜欢使用它,可以试试:

select name,count(*) from 
(select name from fruit group by name,otherid) t
group by name;

SELECT name, count(*) as count FROMtb_stockGROUP BY other_id

最新更新