【问题标题】:how to read current value in sql如何在sql中读取当前值
【发布时间】: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


【解决方案1】:

尝试这样的方法:

SELECT
   p1.title, pj.total
FROM 
   pizza p1
JOIN 
   (
    SELECT 
       p2.title title, COUNT(p2.id) total
    FROM pizza p2 
    WHERE p2.title LIKE '%Pizza%' AND p2.title LIKE '%Store%'
    GROUP BY p2.title
   ) AS pj
ON p1.title=pj.title

【讨论】:

  • 我相信您的查询与 GuZzie 类似
  • GuZzie 查询中没有 JOIN
  • 我想做的是,当查询仍在使用关键字搜索时,还要计算每个 tbl_place.title 出现的次数。不是关键字的总行数。
  • “关键字的总行数”是什么意思?我写的查询给出了你想要的输出。这种方法有什么问题?
  • 总行关键字的意思是当用户搜索“披萨店”时,它会返回总搜索结果,比如 180 行。我想要的是与“披​​萨店”匹配的每个标题也将被计为每个 total_show_up,让我们说:“曼哈顿披萨店”-显示 1 次,“加利福尼亚披萨店”-显示 3 次
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 2020-10-09
  • 2018-07-21
  • 2011-05-10
  • 2011-11-11
  • 2010-11-17
相关资源
最近更新 更多