我有这样的数据
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`
您可以使用COUNT
与GROUP 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_stock
GROUP BY other_id