2013-03-13 58 views
1

標題有點混淆,但基本上,我創建了一個搜索功能,允許用戶輸入搜索詞。說如果他們輸入'e'就會返回諸如「利茲,曼徹斯特,利物浦,唐卡斯特」等答案。基本上,我想要一些東西然後逐一檢查每個城鎮/城市,檢查從那些城鎮城鎮/城市,顯示說:從查詢返回結果,然後記錄該特定結果的計數

**「利茲 - 5個記錄」 **

這將是容易,如果你可以同時輸出多個查詢,但是,你不能。如果有人知道解決這個問題,我會非常感激。

+0

你可以詳細一點更多? – 2013-03-13 13:03:36

+0

您是否知道(在大多數基於SQL的系統中),您可以在'FROM'子句中使用子查詢? – 2013-03-13 13:05:39

回答

2

你在說這樣的事嗎?

select town, count(*) as num 
from something 
where blah = blah 
group by town 

這應該給你一個結果集,如:

town  num 
----  ---- 
Leeds  2 
Liverpool 3 

當你使用像maxcountmingroup by條款聚合函數,聚合應用到組,在這種情況下, 小鎮

+0

我假設num列列出了記錄包含城鎮名稱的指定表中的記錄數量? – Banny 2013-03-13 13:49:52

1

嘗試這樣:

CREATE TABLE citiesWithBand AS 
(Select city, count(band) as bandcount 
From yourtable 
group by city); 

然後,你可以做查詢:

SELECT city, bandcount 
FROM citiesWithBand 
WHERE city likes '%userinput%'; 

或者你也可以將其組合到一個查詢:

Select city, count(band) as bandcount 
From yourtable 
WHERE city LIKES '%userinput%' 
GROUP BY city;