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