从查询返回结果,然后返回该特定结果的记录计数

时间:2013-03-13 13:00:48

标签: sql

标题有点令人困惑,但基本上,我创建了一个搜索功能,允许我的用户输入搜索字词。如果他们输入'e',它将返回诸如“利兹,曼彻斯特,利物浦,唐卡斯特”等答案。基本上,我想要的东西然后逐个检查每个城镇/城市,检查从这些城镇/城市注册了多少个频段城镇/城市,并显示说:

**“Leeds - 找到5条记录”**

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

2 个答案:

答案 0 :(得分:2)

你在谈论这样的事吗?

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

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

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

当您使用maxcountmin以及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;