2013-10-17 45 views
-1

我需要低於MySQL查詢SQL查詢:需要爲這個

目前IAM做個別查詢如下:

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 
+0

什麼是放入'TYPEOF'列? '?它的邏輯是什麼? –

+0

@MikeB我需要在Mysql中查詢.. – user2889661

回答

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` 
+0

嘿,首先感謝,實際上我試圖在mysql中執行時得到一些語法錯誤。順便說一句,這是Mysql查詢嗎? – user2889661

+0

我只是把它扔在一起。這是一個SQLFIddle的作品:http://sqlfiddle.com/#!2/1a542d/10 – Andrew

+0

對不起,這裏有兩個查詢:http://sqlfiddle.com/#!2/1a542d/16 – Andrew