-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 に答える