-1

我需要以下的mysql查询:

目前我正在做如下个别查询:

SELECT count(*) FROM `myTable` WHERE `NAME` LIKE '%TYPE1%'; 
SELECT count(*) FROM `myTable` WHERE `NAME` LIKE '%TYPE2%';
SELECT count(*) FROM `myTable` WHERE `NAME` LIKE '%TYPE3%';

但我需要如下输出:

TYPEOF|COUNT(*)
===============
TYPE1|50
TYPE2|70
TYPE3|90
TYPE4|80
4

1 回答 1

2
select
case when `NAME` like '%TYPE1%' then 'TYPE1'
when `NAME` like '%TYPE2% then 'TYPE2'
...end as TYPEOF,
count (*)
from
`myTable`
group by
case when `NAME` like '%TYPE1%' then 'TYPE1'
when `NAME` like '%TYPE2% then 'TYPE2'
...end

或者,我是否让这太复杂了?您想要 NAME 列中的所有值吗?如果是这样,那么:

select
`NAME`,
count (*)
from
`myTable`
group by `NAME`
于 2013-10-17T17:07:26.387 回答