gpt4 book ai didi

php - SQL 如果值类似于多列,则选择该列

转载 作者:行者123 更新时间:2023-11-29 10:14:24 25 4
gpt4 key购买 nike

我需要使用 ajax 创建自动完成搜索。建议应仅包含输入最多的 10 个结果。如果值与我的变量类似,则搜索查询必须检查多个列。

但我的问题是为此创建查询和 php 逻辑。

  1. 是否有任何插件或类似的东西?
  2. 如果列中的值与我的变量相似,如何选择该列?
  3. 我需要创建一个计数查询,它计算(在所有列中)“这里出现完整单词(由空格分隔)的频率”<-,这就像找到的一个(以获取相关性)

最后,我需要按相关性对找到的条目进行排序,以提供 10 个最相关的条目。

(真正的查询检查的列数不仅仅是 2 个,但由于虚拟原因,2 个列也可以)

选择值类似于...的行的查询

select * from 
(
(select department from entries where department like '%myVariable%')
OR
(select grade from entries where grade like '%myVariable%')
)

我想你明白我的意思。有人对我有任何提示、建议、示例或有用的链接吗?

提前致谢!

最诚挚的问候,
弗里亚恩

最佳答案

为什么不在这里使用 union all 呢?

select department from entries where department like '%myVariable%'
union all
select grade from entries where grade like '%myVariable%'

然后这应该为您排序结果:

select department, count(*) cnt from (
select department from entries where department like '%myVariable%'
union all
select grade from entries where grade like '%myVariable%')a
group by department
order by count(*) desc

关于php - SQL 如果值类似于多列,则选择该列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50338472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com