【发布时间】:2012-04-03 07:38:54
【问题描述】:
我创建了一个搜索功能:
SELECT
tbl_place.id AS id,
tbl_place.metalink AS metalink,
tbl_place.title AS title,
tbl_place.img_thumbnail AS img_thumbnail,
tbl_place.category1_id AS category1_id,
tbl_place.category2_id AS category2_id,
tbl_place.category3_id AS category3_id,
tbl_place.region_id AS region_id,
tbl_place.subregion_id AS subregion_id,
tbl_place.summary AS summary,
(SELECT COUNT(tbl_place.title) FROM tbl_place) AS total_show_up
FROM tbl_place
WHERE
tbl_place.title LIKE '%$keywords[0]%' AND
tbl_place.title LIKE '%$keywords[1]%'
如果我用关键字搜索:“Pizza Store”,它会显示如下内容:
* Pizza Store
* Pizza Store Manhattan
* Pizza Store California
* Pizza Store California
* Pizza Store Texas
* Pizza Store California
我想要做的是,当查询仍在使用关键字搜索时,还要计算每个 tbl_place.title 出现的次数。 我希望结果变成这样:
* Pizza Store - showed 1 time
* Pizza Store Manhattan - showed 1 time
* Pizza Store California - showed 3 times
* Pizza Store California - showed 3 times
* Pizza Store Texas - showed 1 time
* Pizza Store California - showed 3 times
SELECT-ing 时是否有任何语法可以读取 tbl_place 的当前值?
我相信我在这部分查询中有所改变:
(SELECT COUNT(tbl_place.title) FROM tbl_place) AS total_show_up
【问题讨论】:
-
这里的问题到底是什么?如何显示数据?
-
你应该使用 COUNT(tbl_place.title) AS total_show_up 而不是你的 (select count(tbl_place.title) FROM ...)
-
@JanHančič:我也想显示 total_show_up
-
@GuZzie :如果我使用 COUNT(tbl_place.title) AS total_show_up 它将返回所有行,但我想要的是当查询开始每行选择一行时,它也会搜索整个表中的当前标题 AS total_show_up
标签: php mysql search select count