我正面临着从MySQL查询中获取所需结果的麻烦。我有一个名为'lyricist‘的表,列是’关键字‘和’名称‘。
SELECT name FROM `lyricist` WHERE keywords LIKE '%আমরা%' or keywords LIKE '%সোনার%' or keywords LIKE '%সয়না%'
但它给出了两行,因为আমরা和সোনার这两个词来自row2,আমরা来自সোনার。但我想从like单词中获取匹配最多单词的一行。如果两行的匹配单词数与相同,则返回第一个匹配单词。
SELECT name,
我有下面的代码块,它在空格上爆炸一个字符串。
$run = explode(" ",strtolower($q));
例如:“这是绳子”
数组$run如下所示:
(这是,是,字符串)
我遇到的问题是:
我只想在字符串具有白色时使用explode,这相当于使用php函数str_word_count($q)>1。
不确定如何创建一个将使用字符串和搜索表中的多个单词使用其中任何一个的查询。
$query = "SELECT name FROM `table1` WHERE name LIKE '%". mysql_real_escape_st
我有如下php代码:
$query = "SELECT * FROM catalog WHERE Keywords LIKE '%$Keywords%'" ;
其中关键字包含希腊语中的字符串(如您所知,希腊语单词有重音(如:ξυλουργείανομούΗλείας)。我想搜索mysql-column的列,独立于关键字所包含的单词的书写艺术。这些话是我网站的访问者说的。访问者可以写成以下这些关键字:ΞΥΛΟΥΡΓΕΙΑΝΟΜΟΥΗΛΕΙΑΣ或ΞυλουργείανομούΗλείας等。
Thnx
如果你能用德语或希腊语回答我的问题,那就更好了。
我有一个在mysql中运行的查询:
SELECT *
FROM title
WHERE id
IN (
(SELECT id
FROM title
WHERE id = '71'),
(SELECT id
FROM title
WHERE id = '49'),
(SELECT id
FROM title
WHERE id = '67'),
(SELECT id
FROM title
WHERE id = '75'),
(SELECT id
FROM title
WHERE id = '74')
)
我期待
我有一个子查询,其中我的IN表达式来自主表中的列。MySQL将此列视为字符串。我该怎么补救?
因此,例如,我的查询被解释为:
SELECT song.title,
(SELECT group_concat(username) FROM users WHERE user_id IN ('4,9')) as editors
FROM songs song WHERE ...
'4,9‘来自我的歌曲表列,名为editors_list,它是user_ids的CSV。
因此,MySQL只是在user_id 4上进行匹配。如何使MySQL将songs.editors_l
对不起,如果这个问题已经问过了,但这是一个很难找到的。
我有一个专栏,列有“苹果,葡萄,橘子,香蕉,梨”这样的词。
如果我想找到包含某个单词的行,我将使用如下查询:
SELECT * FROM tablename WHERE 'apple' IN(list_of_words)
然而,我想要做的是找到所有包含几个单词的行。就像这样,但不起作用:
SELECT * FROM tablename WHERE 'apple' IN(list_of_words) AND 'orange' IN(list_of_words)
使用的方法如下:
WHERE l
我正在为mysql编写一个存储过程。我在mariadb中使用xampp localhost。 该存储过程接收一个整数ID,并根据该ID在数据库中查找该字符串。此字符串包含一个由逗号分隔的数字列表。 在我的SQL查询中,我需要在IN子句中使用这个数字字符串。 CREATE PROCEDURE Test(IN id INT)
BEGIN
DECLARE clist VARCHAR(255);
SELECT clists INTO clist
FROM camp
WHERE cid = id ; 现在,clist中的varchar变量包含字符串中的4、6、8这样的值列表。 SELECT DI
是的,这是一个被殴打致死的问题,但我认为这是一个有点不同的问题。
请考虑一下这个MySQL表test
所需的结果集是:
换句话说,前3条记录(id的1,2,5)如何使用精确地选择这个字符串--“Cinema,Entertainment”和one query?也就是说,如何将A与上面的字符串进行比较,并让它在一个单词匹配的情况下返回记录?
已经尝试了以下几点:
SELECT * FROM test WHERE A LIKE "%Cinema, Entertainment%"
SELECT * FROM test WHERE INSTR(A, '
我的名为json的mysql列 {"myarray":[ { "users":"82,191", type":"3" } ]} 这是表列json上面的内容,我要查找id为191的用户。82工作正常。但是没有找到191个。 我的sql查询是: SELECT id
FROM tablename
WHERE JSON_EXTRACT(json, CONCAT('$.myarray[0].users') ) IN (82) --this is working
SELECT id
FROM tablenam
我有一个MySQL DB,它有一个表,它有一个SET类型的列,其定义如下:
CREATE TABLE t (
col SET('V','A','L','U','E')
)
我想要编写一个SELECT查询,它返回所有的行,其中col等于('A','L','E')这可以通过编写以下查询来完成:
SELECT * FROM t WHERE c = 'A,L,E'
我想要编写的查询也将为无序输入返回相同的结果,如'L','A',
我有一个基本如下的查询:
Select t.id,
(
Select GROUP_CONCAT(CONCAT_WS(' ', td.id) SEPARATOR ',') as list
From Table t2
) as id_list // this will add a comma delimited list
From Table t1
Where t1.status IS NULL
And id_list IN (3)
查询结果如下..。
id|id_list
-----------------
我正在以分隔的字符串格式存储配置文件好友ID。当运行查询时,它会给出1条记录,而它应该返回2条记录。
MySQL查询
SELECT * FROM PROFILES WHERE profile_id IN(SELECT profile_friends FROM PROFILES WHERE profile_id = '1')
这给出了这个结果(结果应该是2条记录而不是1条记录)
当我运行以下查询时,给出profile_friends字段中的两个ID。
SELECT profile_friends FROM PROFILES WHERE profile_id = '1
我有一个MySQL字段,它引用了另一个表,其中的ids保存为逗号分隔的列表,例如:
12,13,14,16
它们代表另一个表中的值。我知道这是非常糟糕和错误的,但这来自上面,我对此无能为力。现在的问题是,我想使用如下查询在该字段中进行搜索:
SELECT ... WHERE field LIKE '%1%'
现在的问题很明显,在这个示例查询中,几乎所有的条目都可以找到,因为最常见的in在10-20范围内。我的想法是搜索%,1,%,但这不适用于字段中的第一个和最后一个id。有没有类似于内部替换的东西,或者我如何以最好的方式解决这个问题?
我在从这个mysql查询中获得我想要的结果时遇到了问题。我认为问题出在这行代码中:
$group="SELECT * from mybb_users where usergroup AND additionalgroups = '$usergroup'";
因为我注意到数据库中的additionalgroups列有多个用逗号(,)分隔的值,而usergroup只有一个值。截图如下:
这是一张图片:
如果我从代码中删除了additionalgroups列,而只检查了usergroup列,那么整个代码就可以完美地工作,但这不是我想要的:(下面是完整的代码:
// C
我正在尝试创建一个SQL查询,根据数组包含的内容从我的DB中获取数据。
示例:
我的数组包括1, 2, 3,那么查询应该是SELECT * FROM v WHERE category='1' OR category='2' OR category='3'。
有谁知道实现这个目标的方法吗?
任何小费都欢迎。
更新:
使用MySQL作为DB。
继承了一个20,000个图书数据库,其中有一个名为“关键字”的特殊字段,它在一个名为book的巨大表中混乱不堪。尝试在每个“关键字”字段前添加一个值,该字段读取该字段中的单词,并使用一个清晰的短语来标识其确切类别。
因此,查找单词“古代”,并在值前加上“菜单-古代”。
UPDATE books SET keywords=CONCAT('menu-ancient, ',keywords)
where keywords like '%ancient%';
这是可行的,但是下面的查询并没有做我想要的事情!
它应该找到它刚刚完成的所有项目,并通过它们来找出其中哪些也有
我有两个逗号分隔的值,如
s1("45,34,32,11")
S2(34,10,49,45)
我需要的是,当查询运行时,它会检查匹配情况。
选择45 (first number from s1),并将其与其他系列(s2) I. "34,10,49,45"逐一进行比较,然后从(s1)中选择第二个编号&再次将其与(s2)中的所有系列项目进行比较,等等。
有人能在MySQL帮我吗?
我已经尝试过的
Select * from `table` where s1 IN (s2)
我正在尝试选择与客户偏好(即他们喜欢的颜色)匹配的产品,但是当子查询中评估的值是一个数组时,我在创建IN语句时遇到了问题。
为了简化问题,我只包含了几个字段,但每个客户有几百个字段,其中大约一半是数组,还有apx。每个产品的字段数量相同。
如果选择了多个颜色,则此查询不起作用:
$result = mysql_query("SELECT * FROM products WHERE color IN
(SELECT colors_love FROM style WHERE style.user_id=$user_id)")
我还尝试了像这样分解数组:
while ($row =
我试图在MySQL工作台中使用定义的变量。我使用的是工作台的6.3版本。我正在尝试运行具有一个或多个值的临时查询:
如果只有一个值,则查询运行良好。
set @Zdept_Id="548"
然后
Select *
from employees
where dept_Id in (@ZDept_Id)
但是,如果要对多个部门执行此操作,则查询只返回第一个数字的值。
set @Zdept_Id="548,221,1973,905"
然后
Select *
from employees
where dept_Id in (@ZDept_Id)
Dept_Id是一个整数
我想用逗号分隔的值检索单引号中的表记录,并使用这个输出作为主查询中的子查询来获取记录,但是我的子查询不能工作,但是编写单独的两个查询很好,但是我想使用单个查询而不是两个查询。
Mysql查询以获得用逗号分隔的单引号值:
SELECT GROUP_CONCAT(DISTINCT (CONCAT('''', date(created_on), '''' ))) as
strengths FROM table WHERE created_on BETWEEN '2020-08-01' AND '2020-08
我正在尝试执行一个查询,在查询中我使用MySQL in-function来执行以下操作:
SELECT * FROM table WHERE something IN(1,2,3)
因此,我将选择所有设置为1、2或3的“某物”。
当直接在DB上执行时,我所做的查询工作得很好,但是我的问题是,每当我将它作为准备好的语句传递给PHP时,它就会将我的IN-值转换为字符串,而不是int,因此它变成了:
SELECT * FROM table WHERE something IN("1,2,3")
注意里面的“”。这不返回任何信息,因为列“某事”存储为int值,而不是字符串。另外,我想它
假设我想在mysql中执行以下查询:
select id from tbl where id in (2,3)
但是字符串'2,3‘已经存储在另一个表的列中,比如tbl2.data。是否可以执行类似于以下操作的操作:
select id from tbl where id in (select data from tbl2 where x=y);
当我尝试的时候,结果等于
select id from tbl where id in (2);
就像结果被转换为第一个数字一样
我有一个laravel应用程序,它运行这个sql查询:
SELECT *
FROM `restaurants`
WHERE ABS(-122.1430195 - long) < 0.217125
AND ABS(37.4418834 - lat) < 0.26937
AND FIND_IN_SET(egg, allergies) > 0;
)
我知道这个错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for
我有一个特殊的问题:
我有一个表格,在一些列中,它包含了希腊语中的varchars和文本,有时还混合了一些英语。
当我执行如下select查询时:
select * from table where col_name = 'Greek String'
或
select * from table where col_name like '%Greek String%'
(“希腊字符串”当然是希腊字母)
如果从mysql控制台调用这些查询,如果从Aqua Data Studio内部或从Django (使用Django查询方法,使用数据模型)调用它们,它们将返回正确的
我有一个折叠的简单MySQL查询,返回0结果:
SELECT d.name FROM document d WHERE 10 IN (d.categories)
“类别”是varchar类型,包含例如"10,20,30“。
当我直接输入IN值时,它工作并返回一个结果:
SELECT d.name FROM document d WHERE 10 IN (10,20,30)
我怀疑MySQL用这样的东西代替了d.documents,这当然不是我想要的:
SELECT d.name FROM document d WHERE 10 IN ("10,20,30")
什么是合适