标题有点令人困惑,但基本上,我创建了一个搜索功能,允许我的用户输入搜索字词。如果他们输入'e',它将返回诸如“利兹,曼彻斯特,利物浦,唐卡斯特”等答案。基本上,我想要的东西然后逐个检查每个城镇/城市,检查从这些城镇/城市注册了多少个频段城镇/城市,并显示说:
**“Leeds - 找到5条记录”**
如果您可以一次输出多个查询,那将很容易,但是,您不能。如果有人知道解决这个问题,我将非常感激。
答案 0 :(得分:2)
你在谈论这样的事吗?
select town, count(*) as num
from something
where blah = blah
group by town
这应该给你一个结果集如:
town num
---- ----
Leeds 2
Liverpool 3
当您使用max
,count
和min
以及group by
子句等聚合函数时,聚合适用于该组,在本例中为镇强>
答案 1 :(得分: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;