我正在尝试查找一个MySQL查询,该查询将在特定字段中找到不同的值,计算该值出现的次数,然后按计数对结果进行排序。
示例数据库
id name
----- ------
1 Mark
2 Mike
3 Paul
4 Mike
5 Mike
6 John
7 Mark
预期结果
name count
----- -----
Mike 3
Mark 2
Paul 1
John 1
我正在尝试在MySQL DB上创建(某种类型的)全文搜索:我想在两个字段TITLE和DESCRIPTION中查找字符串'abc‘的匹配项,并根据出现的次数(每行)对结果进行排序,最好是加权的,即在TITLE中找到的每个'abc’都是DESCRIPTION中匹配项的2倍。
在一个(可能又长又难看)的查询中这是可能的吗?还是我必须创建一些单词索引表?
到目前为止,我的方法找到了事件,但没有排序,更不用说权重了。(我用PHP实现了后者,但这开始变得非常昂贵):
SELECT * FROM CONTENT WHERE (`TITLE` like '%abc%' OR D
我刚转到mySQL 8,在以前在mySQL 5中工作的查询中出现了错误。
我可以让查询在没有字符串匹配部分的情况下工作,其中它只匹配一个interger字段,但是当我添加字符串部分时它会出错。
查询:select * from crew where webvisible = 1 and active = 1 and rank = 'member'
错误:您的SQL语法出现了错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行使用接近“=”成员的正确语法。
我需要基于秩字段来查询,因为它是不同的字符串值,比如:成员或成员申请者,或者偷渡者等等。
我有一个MySQL查询,它运行得非常慢。我重写了很多次了,但还没有改进。
我目前对高级搜索的查询大约需要60秒才能完成。有什么改进的建议吗?
数据库: MySQL
PHP服务器: Apache -PHP (PDO)
目前的代码结构:
SELECT B.title, COUNT(*) AS NUM
FROM library.PhysicalInfo A
LEFT JOIN library.BibliographicInfo B
ON A.BookID = B.BibliographicInfoID
LEFT JOIN library.authors C
ON B.Bi
我正在创建一个实用程序,它允许用户输入一个SQL查询,以便将数据导入我的数据库。
第一步是显示结果字段的列表,以便用户可以将它们路由到目标字段。
当用户从MSSQL导入时,我可以使用SET FMTONLY ON获取查询如果运行将产生的输出列列表(假设查询首先有效)。
我还没能为MySQL找到一种方法来做到这一点。EXPLAIN没有列出结果字段。
给定以下查询:
SELECT CONCATENATE(first_name, " ", last_name) AS name, age, foo
FROM customers
ORDER BY name ASC;
我最终只需要获得输出
平台:Django1.1,Linux服务器上的Python3.6,后台是MySQL。 我正在追求一个相当常见的功能,但我需要指导从哪里开始/如何开始: 我有一个名为Article的模型对象。我正在尝试实现一个搜索功能,该功能根据搜索到的术语检索文章,然后根据搜索到的术语中出现的单词进行排序。 在Article中,我有以下字段,我希望根据这些字段进行排序或“优先排序”: - name, a text field
- keywords, also a text field but would contain comma-separated words
- article_text, a text
我有一个从Category.comparisons到Comparison.category的@OneToMany关系(以及另一个方向的@ManyToOne关系)。
我的比较对象有一个"date“字段,我的Category对象有一个布尔值"safe”字段。
我希望检索在传入查询的某个日期之后具有最多比较的10个Category对象,其中Category.safe为true。
这是我最大的努力,但它根本不起作用:
SELECT c FROM Category c JOIN Category.comparisons
WHERE c.safe = true AND c.compa
据我所知,如果使用IN(1,2...n)查询,mysql不会使用索引。我说错了吗?或者我可以做些什么来让mysql使用它?我指的不是IN()子查询优化,因为这在手册中有明确的解释。
示例(假设所有字段都有一个名为index_abc的索引):
WHERE a = 1 AND b = 2 AND c = 3 -然后它使用index_abc
WHERE a = 2 AND b IN (2, 4, 5) AND C = 3 -那么它就不会
提前感谢您的帮助。
我需要帮助在多个字段中进行搜索mysql查询,并且我还希望它返回关键字与字段值匹配的字段:
示例:
$query = mysql_query("SELECT Name, MATCHFIELD FROM `employes` WHERE `Name` LIKE '%$keyword%' || `Prenom` LIKE '%$keyword%' || `Telephone` LIKE '%$keyword%' || `Telephone2` LIKE '%$keyword%'");
while($row = m
我希望你能帮我解决这个问题。我一直在寻找设置MySQL查询的方法,该查询根据某个值出现的次数选择行,但到目前为止还没有成功。我很确定我需要在某个地方使用count(*),但我只能知道如何计算所有值或所有不同的值,而不是计算所有出现的值。
我有一张这样的表格:
info setid
-- --
A 1
B 1
C 2
D 1
E 2
F 3
G 1
H 3
我需要的是一个查询,它将选择setid出现特定次数(x)的所有行。
所以使用x=2应该能让我
C 2
E 2
F 3
H 3
因为setIds 2和3都出现了两次。使
我需要重复运行大型查询,并在Matlab中存储/操作结果。我使用Connector/J ( mySQL -连接器-java-5.1.25驱动程序)连接到mySQL服务器(它位于我的本地计算机上)。我运行的查询使用数据创建了一个~140 MB的单元格数组(我在文章底部包含了查询代码和表的CREATE代码)。执行此查询和创建单元格数组大约需要10秒。在HeidiSQL中运行相同的查询并显示所有结果只需0.2秒。
当我在Matlab中运行一个简单的select count(*) from (<current query>)时。当我不创建单元格数组来存储查询结果)时,语句的执行时间仅为0.
当使用这样的代码时:
$Model->find('all', array(
'conditions' => array(
'field' => '1111'
)
));
where field is varchar mysql字段蛋糕生成如下查询:
SELECT * FROM Models WHERE field = 1111;
而不是期望的
SELECT * FROM Models WHERE field = '1111';
这也使得mysql将整个数据库转换为int,而不是使用
我正在尝试编写一个查询,它将获得最流行歌曲的最大分数,按歌曲受欢迎程度排序。
我有一个名为"gameplay“的表,其中包含以下字段:
idsong_idscore(plus (其他一些任意字段)
到目前为止,我最近的发现是:
SELECT id, song_id, score
FROM (
SELECT id, song_id, score
FROM (
SELECT id, song_id, score
FROM gameplay
ORDER BY score DESC
) AS all_scores_
是否可以查询数据库行,并根据一个字段(日期时间)随机将1-3天(较好的工作日)添加到同一行中的另一个字段中?
因此,查询需要从其中获取时间的已知日期时间字段,然后随机添加1-3天:
SELECT complete_date
FROM training
WHERE tr_id = 18;
以及对需要更新的字段的查询。
UPDATE training
SET finalized = (rand + (1-3 days))
WHERE tr_id = 18
MySQL工作台软件。