1

标题有点混乱,但基本上,我创建了一个搜索功能,允许我的用户输入搜索词。假设他们输入了“e”,它会返回诸如“利兹、曼彻斯特、利物浦、唐卡斯特”等答案。基本上,我想要一些东西,然后一一检查这些城镇/城市中的每一个,检查从这些城镇/城市中注册了多少乐队城镇/城市,并显示说:

**“利兹 - 找到 5 条记录”**

如果您可以一次输出多个查询,那将很容易,但是,您不能。如果有人知道解决此问题的方法,我将不胜感激。

4

2 回答 2

2

你在谈论这样的事情吗?

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

这应该会给你一个结果集,如:

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

当您使用max,countminandgroup by子句之类的聚合函数时,聚合适用于组,在本例中为town

于 2013-03-13T13:04:25.013 回答
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;
于 2013-03-13T13:05:58.373 回答