我正在开发一个PHP / MySQL分类搜索引擎,人们可以输入一些关键字,结果页面应该:
1)列出发布与这些关键词匹配的列表的用户
和
2)在这些用户名下面,列出与这些关键词匹配的列表
我只想用一个MySQL查询来实现这一点,但我不确定这是否可能。
实际上,我可以通过以下查询获得用户列表:
SELECT u.id, u.firstname
FROM user u
WHERE
u.id
IN (SELECT user_id FROM product WHERE make LIKE '%Porsche%')
现在,我想知道如何在同一个查询中获得产品列表。如果在一个查询中不可
我有这个foreach循环,我将其用于搜索功能:
$keywords=$_GET['keyword'];
$exploded=explode(' ',trim($keywords));
$mysql_command="SELECT * FROM items WHERE completed='1' AND ";
foreach ($exploded as $key => $value){
if ($key>0)
$mysql_command.=' OR ';
$mys
我有两张桌子:
Table A: Value 1: Value 2:
id (int) 1 2
from (varchar) josh robert
Table B: Value 1: Value 2:
id (int) 1 2
name (varchar) josh robert
surname (varchar) apple
我有一条SQL语句似乎不起作用,我花了一个多小时询问如何显示该语句的外观示例:
$result = mysql_query("SELECT * FROM myTable WHERE id=$my_id AND status=$active");
现在,我需要做的就是查看实际传递的SQL,所以我假设它是这样的:
SELECT * FROM myTable WHERE id=2 AND status=4
我知道这可能非常简单,但是我搜索的关键词并没有带回答案,我已经尝试过print_r,echo $result,mysql_fetch_array等,但它并没有真正得到我需要的东西,
我必须做一个非常简单的选择,其中只有参数变化。但我不得不对大量的关键词重复一遍。
即
SELECT url from mytable WHERE keyword like '%{key}%'
我可以用
Select url from mytable where keyword in ('key1', 'key2'...)
但我需要知道哪个url是与每个关键字相关联的。MySQL似乎不支持table parameter,执行相同的语句20K的速度非常慢。
什么样的解决方案适合这项任务?
我在一个数据库中有两个简单的表
论文
ID Title Author
1 A study of turtles Mary
2 Dietary habits of ducks Kate
3 Similarities of turtles and cats Fred
关键词
ID Keyword
1 turtles
2 ducks
3 turtles
3 ca
我想扫描的文字是:“你今天为什么来这里?”(关键词是“为什么”“你”“来”“这里”“今天”)
我想构建一个regex表达式,它也可以扫描类似的问题,例如:
“你今天是怎么来的?”(关键词是“什么”、“带来”、“你”、“今天”)
“今天来的原因是什么?”(关键词是“什么理由”、“来”、“今天”)
“你今天早上来这儿有什么原因吗?”(关键词是“理由”、“这里”、“早上”)
你今天为什么在这里?(关键词是“为什么”、“你”、“这里”、“今天”)?
所以就像:/keywords from first sentence | keywords from second sentenc
在MySQL外壳程序中,两个几乎相同的查询。一种工作,一种不工作。区别是一个关键词。为什么会这样呢?
根据您在子查询中使用的限制数字,工作查询只获得您选择的薪水。所以“限制4”会给你第四高的薪水。
SELECT SALARY
FROM (
SELECT DISTINCT SALARY
FROM TBLEMPLOYEE
ORDER BY SALARY DESC LIMIT 3
) RESULT
ORDER BY SALARY LIMIT 1
这成功地给出了第三高的薪水。
如果我去掉"result“这个词,它就不再起作用了。结果服务于什么功能
我正在搜索页面上显示Spotlight帖子。
当用户输入关键字来搜索帖子时,我喜欢使用该关键词带来一个Spotlight帖子。如果没有该关键字的帖子,那么我只想从数据库中带来任何Spotlight帖子。
我的问题是,我是否可以在MySQL查询中检查这一点,以查看它们是否会是此关键字的任何结果,如果不是,则忽略此关键字?
我的问题
SELECT id, title, desc
FROM post
WHERE isActive = 1
AND title = 'keyword'
但是如果我在这个查询中得到0个结果,我想忽略这一点,改为运行以下命令
SELECT i
我有三个桌子事件,地点,event_location。事件可以有多个位置。位置表有延迟、经度、hasGeocode字段。
所以对于关键词"hello world“
对事件表的简单查询变为
Select * from event where keywords like '%hello%' OR keywords like '%world%'
但是,如果用户已经输入了他们的位置,那么我也希望在这个查询中包括location表,这样用户就可以指定他们的位置选择,我该如何做呢?
所以基本上有三种类型的搜索查询
只是关键词
关键词与位置
关键词、邻近和
运行代码时,我无法检索目标条目,因为通过查询运行的关键字与数据库中的关键字不同。
关键词:
$keywords = 'spaghetti,macaroni,hamburger';
查询:
mysql_query("SELECT * FROM ---- WHERE keywords LIKE '%$keywords%' ORDER BY id DESC LIMIT 1");
我的目标是一个具有这些关键字的条目:
food, restaurant, hamburger, spaghetti, taco,pie
我可能遗漏了一些简单的东西,因为我已经连
SELECT links.*
FROM links
INNER JOIN (
SELECT keywords_links.link_id
FROM keywords_links
INNER JOIN keywords ON keywords_links.keyword_id = keywords.id
WHERE keywords.keyword
IN ("facebook", "google", "apple")
GROUP BY keywords_links.link_id
) t
ON links.id =
我有一个这样的mysql数据库:
id - join_id - bool
1 - 32 - 1
2 - 32 - 0
3 - 32 - 1
4 - 32 - 1
我想对此提出疑问:
join_id - bool (- amount)
32 - 1 - 3 (aka there are 3 instances where the join_id and bool are 32 and 1);
32 - 0 - 1 (aka there is 1 instances where the join_id and bool are 32 and 0);
任何关键词或名字都会很有帮助。
如何使用给定的固定关键字来计算每个观察中的单词数?为了澄清,这里有一个例子。
以下是“文本”和“关键词”集
Text=c("I have bought a shirt from the store", "This shirt looks very good")
Keywords=c("have", "from", "good")
我想获得以下输出。
output=c(2,1)
在“文本”(即“我从商店买了一件衬衫”)的第一句中,我观察了两次“关键词”。“有”和“从。”同样,在“文本”的第二句中,我只观察到“好”一次
请原谅我的新手问题。我试过寻找答案,但考虑到关键词,寻找这类东西是相当困难的.
我使用Lucene5.2.x索引一组文档,每个文档都有两个字段:id和description。
我从系统中以前的查询中获得了一组ids。现在,我想在description上获得Lucene文本搜索结果,但只从ids集合中的文档中获得。如果我在MySQL中(天真地)这样做,我可能会这样做:
SELECT * FROM mytable
WHERE description LIKE 'blah%'
AND
id IN (6345, 5759, 333,
我很难理解MySql的比赛。我有一个“关键字”-field的全文索引表。关键字是逗号分隔的。
我正在用3行进行测试,用关键词: prep,rat,小鼠
当我搜索“准备”或“老鼠”时,我得到了我想要的结果。但是如果我搜索“鼠标”,我就没有结果了。这是我使用的查询:
SELECT *, MATCH(Keywords) AGAINST('mouse') AS Score
FROM fs_Files
WHERE MATCH(Keywords) AGAINST('mouse')
ORDER BY score DESC;
在“鼠标”之后,我也尝试过使用IN BOOLEAN
我有两张桌子,书和关键词。他们被外键绑住了。
书籍结构(Book_Id,姓名,作者)
关键词(Key_Id,Key_Word,Book_Id)的结构
现在我想得到一些书,依赖什么关键字是。我创建了这样的命令,但它没有显示任何结果。
select * from BOOKS
JOIN KEYWORDS ON BOOKS.Book_Id = KEYWORDS.Book_Id
where Author like '%a%' and KEYWORDS.Key_Word like '%a%';
我做错什么了?提前谢谢。样本数据(抱歉使用那种外语)
编辑:已经解决
从以下输出中可以看到(不限于mysql,其他服务给出类似的结果),当使用sudo运行service/status时,它会给出正确的结果,但当直接用root运行时,它会给出‘未知作业’。
我用谷歌搜索了很多,但是像“状态/服务”这样的关键词有多种含义,所以我没有找到与这个问题相关的任何东西,只有一些类似的问题来解释为什么在运行“sudo service...”时会出现“未知作业”。
root@ubuntu-user:/etc/init# status mysql
status: Unknown job: mysql
root@ubuntu-user:/etc/init# sudo status