有一个名为Students的表。我想提取名字以“n”或“p”或“y”开头的学生的名字。我知道,在TSQL (MS SQL server)中,我可以按以下方式编写查询,它可以工作:
SELECT * FROM Students WHERE StudentName LIKE '[npy]%'
但是,当我在MySQL (phpmyadmin)中执行相同的查询时,我无法检索正确的结果集。我试着把学生名字的字母转换成字符列表中提到的同一种情况。我搜索了一下,发现在MySQL中,我们需要将它指定为正则表达式。我执行了下面的查询并得到了预期的结果。
SELECT * FROM Student
我正在将一个站点的一些部分从mysql迁移到mongodb,其中一部分将使用mongodb搜索。我有一个问题,如果我在mysql中执行这个查询
SELECT * FROM table WHERE a1 LIKE '%test%' OR a2 LIKE '%test%'
我会得到超过10k的结果。没关系。
如果我在mongo中执行这个查询
$mongo->find(
array(
'$or' => array(
array('a1' => new MongoRegex
我有一个查询,将mysql数据库中的结果过滤成给定的字母范围:我想显示以字母a-f开头的项目。我使用了这个查询,但我认为有一个更好的查询可以做到这一点。
SELECT DISTINCT title FROM tables WHERE LEFT(title, 1) ='a' AND LEFT(title, 1)='b' ..... AND LEFT(title, 1)='f';
我有一个运行在ubuntu上的django 1.2.1实例,后端是MySQL5。我正在尝试进行一个应该只返回一个结果的区分大小写的查询,但是我得到了两个内容相同但大小写不同的结果。
我想得到一个标题如下的条目:互联网上的猫综合症
因此,我使用以下查询:
c = Change.objects.filter(change_type='new',title__exact='Cat on the Internet syndrome')
我得到了以下结果:
>>> c
[<Change: Change object>, <Change:
我有一个group-by查询,当涉及到索引,连接,发送结果等时,它非常快。不幸的是,当我分析它时,mysql花了99.6%的时间“复制到临时表”。我不知道如何才能让mysql自己表现得更好。
group by查询实质上是查找系统中前20个标记的实体数量。我在这个查询的基础上过滤掉用户选择的标签,实质上缩小了字段的范围。当他们选择一个新标签时,查询性能会显著提高。如果他们选择2个或3个标签,查询会非常快地找到具有这2个或3个标签的实体数量,再加上紧随其后的最受欢迎的标签。
本质上,性能问题是当没有选择标签时,或者选择了1个标签时。解决这个问题的最佳方法是什么?
1)内存缓存,比如ehcache?
我使用以下PHP和MySql从表中获取行,
$search_word=$_GET['search_word'];
$search_word_new=mysql_escape_string($search_word);
$search_word_fix=str_replace(" ","%",$search_word_new);
$sql=mysql_query("SELECT * FROM tweets WHERE content LIKE '%$search_word_fix%' ORDER BY votes DESC
我目前使用php中的EZSQL类来查询MySQL数据库。我正在尝试从数据库中抓取随机记录,但我想知道是否可以通过php而不是sql查询本身来随机化结果。查询目前看起来如下所示:
$results = $db->get_results("SELECT * FROM table ORDER BY RAND()");
foreach($results AS $result)
{
//code here
}
取而代之的是,我可以从数据库中获取结果,然后通过php随机化它吗?如果是这样,我该怎么做呢?
我想用like in select子句过滤我的列,MySQL中的默认like是不区分大小写的,但我希望它区分大小写。该怎么做呢?
我想要这个查询:
select * from my_table where column1 like '%abc%'
还有这个查询:
select * from my_table where column1 like '%Abc%'
给出不同的结果。
如果我想在php中查询一个查询结果,我应该怎么做?假设我有这个..
$result = mysql_query("SELECT * FROM tbl_x WHERE tbl_x.attribute = y");
现在我需要查询这个$result,以过滤我从它的查询中得到的结果。请注意,我不想这样做...
$result2 = mysql_query("SELECT * FROM ( SELECT * FROM tbl_x WHERE tbl_x.attribute = y ) AS tbl_x1 WHERE tbl_x1... etc");
我想要避免这种情况的
我使用这个查询从我的数据库中获取结果:
MATCH(`Text2`) AGAINST ('$s')
我只想得到结果时,有一个完全匹配的字符串,就像在谷歌上,当你搜索之间的引号"“。
我如何使用Match/MySQL来做这件事?
例如:查询是"ab cd“
ID | Text
1 ab cd
2 aab cda
3 aab a cd
应返回第1行和第2行
表名服务和行名服务名称
service_name (COL型-text)
软件开发(包括可行性研究、系统分析与设计、编码)
我运行了一个查询收集service_name
$query_3="SELECT * from service where service_name='Software Development (Including Feasibility Study, System Analysis & Design and Coding)' ";
$result_3=mysql_query($query_3) or die (mysql_err
MySQL在查询的WHERE子句中使用“链式不平等”语法时不会抱怨,但是产生的结果与使用正确语法编写的具有类似精神的查询不同。那么,它实际上在运行什么查询,应用了哪些约束呢?为什么它不产生一个错误?
一个简单的例子:假设我在MySQL数据库中有一个表,一个名为User的表,其属性为score。
我可以用链式不等式语法编写以下表单的查询:
SELECT *
FROM User
WHERE 10 < score < 15;
和具有正确语法的下列表单的查询:
SELECT *
FROM User
WHERE score > 10 AND score < 15;
结果不一样。
我正在实现一个iOS应用程序,它包含一个CoreData DB,其中一个列包含一个文本字段,用户应该在其中执行几种类型的搜索(语义、精确匹配等选项)。现在,我只能尝试实现以下MySQL查询():
'''select * from quotes where match section against ('\\"%s\\"' in boolean mode) ''' % (query)
上面的查询返回包含字符串" query“中所有单词的所有文本行,但不需要任何特定的顺序,只要文本字段包含所有单词。例如,像“明
使用MySQL,我有许多查询,如下所示:
SELECT * FROM table_name WHERE some_clause ORDER BY id LIMIT 1000 OFFSET 0
SELECT * FROM table_name WHERE some_clause ORDER BY id LIMIT 1000 OFFSET 1000
SELECT * FROM table_name WHERE some_clause ORDER BY id LIMIT 1000 OFFSET 2000
SELECT * FROM table_name WHERE some_clause ORDER
我正在将我的MariaDB迁移到MySQL,并且遇到了一些差异。
我有一个非常简单的查询,它在Maria中生成结果(197),但是在mySQL中没有人能提供帮助吗?
SELECT DISTINCT title FROM films where title REGEXP 'The \\w{4}[^\\s]*\\b'
数据库完全相同(从MariaDB导出到MySQL,没有任何问题)。
我需要查询我的数据库并查找结果:
mysql_query("select * from ".ALU_TABLE." where username like '%$q%' or name like '%$q%'");
如果我的表中有一个名字,比如Book,我在搜索框中输入book,它将不会显示Book
我需要查询我的数据库,因为它不区分大小写。
我正在构建一个用于搜索函数的MySQL查询,现在我希望使用ID数组以某种方式对结果进行排序。
我已经能够通过使用类似如下的一段MySQL来做到这一点:
SELECT id, name
FROM mytable
WHERE id IN (77, 3, 123, 1)
ORDER BY FIELD(id, 77, 3, 123, 1)
但我想知道是否可以在Order by FIELD查询中不设置IN()的情况下通过选择或按FIND_IN_SET进行选择。
我不想使用IN()语句,因为我还希望得到不在ID数组中的结果
希望有人能把我推向正确的方向,
我将Django用于使用简单过滤系统的应用程序。我希望过滤器测试我的模型的标题是否包含查询字符串。
简化后的代码如下所示:
cards = Card.objects.filter(title__icontains=query)
print cards.query
它返回以下查询(同样,不必要的内容被删除):
SELECT [...] FROM `ygo_card_card`
WHERE `ygo_card_card`.`title` LIKE %dark%
它不返回任何结果,即使它应该返回。当我手动运行这个查询时,我得到
server (1064):您的SQL语法有一个错误;请检查与您的M
我们有一个上传工具,通过CSV上传用户。在这个循环中,我们使用MySql检查用户是否以这种方式存在:
SELECT id FROM user_table WHERE email = 'email@domain.com'
我们将此查询的结果保存在$sql_array中。
在那之后,我们做一个count($sql_array)。如果计数大于零,我们什么也不做。否则,我们将用户插入到user_table中。
现在,我们已经注意到的奇怪的事情是,在某些情况下,它插入的用户的电子邮件地址已经存在。
我们有一个函数,如果查询结果出错,它会给我们发送一封电子邮件。例如在超时或与MySQL的连
我正在尝试执行两个独立的数据库查询,并将结果返回到一个表单。每个结果都写入到一个表中。
我希望能够将这两个查询合并为一个,并根据任务编号对结果进行排序。
第一个查询:
//Booking
$Date= date("d/m/Y");
$driver = $_SESSION['username'];
$dbTaskRecords = "SELECT * FROM booking WHERE driver='$driver' AND Date= CAST('$Date_search' AS DATE