标签: Mysql
full-text-search
我最近一直在尝试全文搜索,对分数值的含义很好奇。例如,我有以下查询:
SELECT table. * ,
MATCH (
col1, col2, col3
)
AGAINST (
'+(Term1) +(Term1)'
) AS Score
FROM table
WHERE MATCH (
col1, col2, col3
)
AGAINST (
'+(Term1) +(Term1)'
)
在Score的结果中,我看到了一个查询的结果,介于0.4667041301727到11.1662759
我想从Oracle迁移到MySQL,其中一个重要步骤是替换在Oracle环境中构建的实际作业
基本上,每天我都会收到来自另一个oracle环境的一些“oracle”转储文件(主要是CTL或oracle表导出)。今天,我的Oracle作业将收到的数据(CTL…)加载到我的Oracle表中。现在我想在MySQL表中替换我的Oracle表,继续接收来自Oracle环境的文件
所以。您是否有相同的工具或工件来读取Oracle CTL文件(或
是否从MySQL环境中转储Oracle表?
我已经使用了mys
我已经编写了一个rails应用程序,在没有数据库的情况下运行了一段时间。现在,我将把注册数据库放到混合中。它在生产中不起作用。当然,在我的Mac电脑上,一切正常
以下是生产环境:
-乌班图哈代
-普西翁旅客
-轨道2.3.2
机器上的MySQL运行正常
我有包含正确信息的database.yml文件。我可以毫无问题地运行迁移:
rake db:migrate RAILS_ENV=production
正在正确更新数据库
所以,我点击tmp/restart并点击站点。我得到了500错误,但没有写
我有一个查询,它做了我想要加入表的事情,但我需要它稍微改变一下,这样我就可以将它用于其他事情
我需要得到最后5条记录,所以我应该使用max函数并将其限制为5条,但它不能正常工作
这是我当前的查询,只需要获取最后5条记录(可能是通过Festival Alid)
我试过了,但是可以在datefrom小于其他已存储日期的位置添加一条记录。我想我需要抓取最后5个ID,不管日期是什么。事实上,你是对的,我所做的只是将顺序更改为Festival-Alid-DESC LIMIT 5,它成功了
SELECT
我的桌子:
表cat具有id、name
表user具有id、uname、catid
样本数据:
cat表格
1 | Cate one
2 | cate two
1 | sam | 1
2 | dam | 0
因为没有id为0的类别,所以我得到零行。
如果没有行,我希望NULL或结果为零
我该怎么做?将您的左连接更改为右连接。。。这将从users表中提取所有内容,如果category表可用,则从category表中提取所有内容。您需要将左连接转换为右连接,或者交换表:
SELECT cat.id,
标签: Mysql
mysql-workbench
因此,我必须创建InnoDB表(产品)和(类别)。我想在Products表上的“Category”字段和Categories表的“CategoryId”之间建立一种关系
但在尝试创建FK时,它只允许我在Products表上选择主键“ProductsId”,并映射到Categories表上的PK“CategoryId”
也许我错过了设置外键的方式/原因。我的想法,如果我错了,告诉我:
1)需要将产品添加到类别中。添加时,类别必须存在,或者您必须先创建它。除非执行某些任务(通过编程或在DB后端)从要
标签: Mysql
Sql
aggregate-functionsrow-value-expression
在我当前的应用程序中,我需要能够执行以下类型的查询:
SELECT MIN((colA, colB, colC))
FROM mytable
WHERE (colA, colB, colC) BETWEEN (200, 'B', 'C') AND (1000, 'E', 'F')
并得到(333,'B','B')的答案,给定以下数据:
+------+------+------+
| colA | colB | colC |
+------+------+------+
| 99 | A
我有一个MySQL表,其中只有一个文本类型的列,包含大量相同格式的信息,以如下字符串开头:
Field1 : 1234
Field2 : Something
列始终以字段1和字段2开头,但每个字段后面的值对于每个记录都不同
我需要的是在查询中只获取Field1和Field2之后的值(在本例中为1234和某物),而Field1之后的值很容易,因为它总是4个字符长,但问题是第2个字段之后的问题,因为每个记录的大小都不同,到目前为止,我得到的是:
SELECT SELECT substring(su
SQL:
用户索引:
SELECT
COUNT(usr.id) as `total_results`
FROM
users as usr
LEFT JOIN profile as prof
ON prof.uid = usr.uid
WHERE
usr.username LIKE '%a%'
OR
我正在使用mysql 5.1.18连接器运行mysql 5.5。
对样式的简单查询
从my_表中选择*,其中列a位于('aaa','bbb',…)中,列b=1
从java应用程序中执行。查询返回一个25k行的结果集,每行8列。在while循环中读取结果时
while(rs.next())
{
MyObject c= new MyObject();
c.setA(rs.getString("A"));
c.setB(rs.getString("B"));
c.s
假设我的桌子是这样的:
Sessions
start_dts (datetime)
end_dts (datetime)
start_dts end_dts
12/25/2011 01:55:00 12/25/2011 03:30:00
Date Hour MinutesOnline
12/25/2011 0 0
12/25/2011 1 5
12/25/2011 2 60
12/25/
我正在创建一个页面,希望用户能够在其中预订活动的座位
1个用户只能预订1个座位
用户在登录时没有选择座位,首先是在购买了一个地点之后
需要能够清除席位表,而不会丢失用户表中的任何内容(当然,分配的席位除外)
我已经创建了两个表,由于我对mySQL非常陌生,我想检查这是否正确:
成员表:
用户id int(8)非空自动增量
用户名varchar(30)不为空
用户\u pass varchar(255)不为空
座位号smallint(6)是空
座位表
座椅ID smallint(6
我想知道这是否是一个问题,比如这是一件好事还是坏事。查询缓存命中率达到100%是否经常很糟糕
查询缓存的命中率很高是件好事。这意味着对同一查询的后续调用将直接从缓存中应答,因此速度更快。看
我不知道如何从表中删除所有重复的数据,也不知道我的表中哪些数据是重复的,我可以在Mysql中运行哪个查询,请帮助我
delete from tablename(record) where coluumnname(employer)=ram >0
它正在工作,但它从表中删除所有记录,通常不重复
delete from <table_name> where rowid not in
( select min(rowid)
切换到MySQL用户的windows命令是什么
我在windows上使用mysql有点问题。我知道如何创建一个新用户,并向新用户和所有人提供授权。但我不知道如何从mysql控制台切换到新用户 创建用户语法:
代码:
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
在命令行中切换的唯一方法是:
mysql -u user -p
MySQL CLI会话绑定到启动它的用户。因此,在创建新会话并设置所需授权后,您必须使用所需用户打开
我目前对高级搜索的查询大约需要60秒才能完成。有什么改进的建议吗?
数据库:MySQL
Web服务器: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
这是我上周问的一个问题的继续。它涉及来自两个不同表的表列的组合
请考虑这个例子。
我有一个表(投票顺序a),其中包含以下值:
+----------------+---------------------+----------------+
| VOTE_CANDIDATE | RANKED_CHOICE_VOTES | ORIGINAL_VOTES |
+----------------+---------------------+----------------+
|
我想以前没有人问过这个问题,但如果我错了,请纠正我
我有一个字段名,比如说'field'。它包含一个以空格分隔的10个2位数的列表:
0101127-16915
我想更新该字段,将任何-1值替换为0,如果它是第4、第5、第6或第7个数字
这不能通过charindex实现,因为如果2位数字小于10(如上所示),则它们有时是一位数字。区分新数字的唯一方法是空间定界
有什么想法,如果这是可能的,我可以怎么做
谢谢。我想你可以这样做:
select concat_ws(' ', substring_in
因此,我试图在一个查询中计算数据库中以Z和A开头的城市数量。通过几次谷歌搜索,我提出了以下问题:
SELECT COUNT(CASE city WHEN 'Z%' then 1 else null end) as count_Z,
COUNT(CASE city WHEN 'A%' then 1 else null end) as count_A
FROM city
WHERE city LIKE 'Z%' AND 'A%';
然而,当我应该为Z返回19行,为A返回43行时,我没
如何更新表,以便在满足条件时使用一列的值计算另一列的值。比如说
UPDATE table
IF column1>8000
SET column2 = (column1-8000)*1.5;
使用WHERE子句,我认为您应该阅读使用WHERE子句,如下所示:
UPDATE table
SET column2 = (column1-8000)*1.5
WHERE column1>8000;
更新参考:更新表格
设置列2=(列1-8000)*1.5
其中第1列>8000
干杯;)
标签: Mysql
timestampmaxminpoints
在mysql中有可能找到极值吗
我有一个带有列(时间戳、值)的表,我必须检测值何时开始增加和减少,并注意该值
也就是说,有了这些数据
2015-05-14 04:40:00, 1000
2015-05-14 05:20:00, 2000
2015-05-14 08:00:00, 2500
2015-05-14 08:20:00, 500
2015-05-14 09:10:00, 700
2015-05-14 10:20:00, 700
2015-05-14 11:40:00, 1300
2015
我有一个错误无法添加或更新子行:每当我向表中插入新值时,外键约束都会失败
我有一个外键,它引用了同一表中的另一列(主键)。必须添加一个包含前一行1的外键。请显示更多数据结构、当前数据和用于插入新数据的语句。添加了格式,以使错误消息从文本中突出。还请包括一些代码与您的问题,这使它更容易理解。
我有两种用户:
雇员
招聘人员
招聘人员可以出缺
空缺职位可能有要求,员工也有/或没有这些要求:
运输(汽车、执照等)
语言(英语、荷兰语、法语、德语等)
工作期限(员工、自由职业者、学生、实习生等)
部门(物流、零售、清洁等)
制度(全职、兼职、假期、周末等)
在我当前的数据库结构中,我有所有5个需求和外键的表
我的问题是,;每次我加载一个空缺时,它都需要从所有这些模型中获取FK值,因此,每次我想在视图中显示某些内容时,都要加载6个模型
因为只有一列表可以将值直接放入模型中,并确保用户不能在前
我一直在使用以下查询替换某些数据:
更新wx3_t1 SET umo=REPLACE(umo,'stringbefore','stringafter')
wx3_t1=表
umo=列
我正在寻找一种跨整个数据库进行更新的方法,而无需将表或列放入查询中
只要REPLACE('stringbefore','stringafter')
我意识到这样做非常有攻击性,但也没关系。您可以创建一个简单的脚本来查询信息\u schema.COLUMNS,以按表获取所有列的列表:
select TABLE_S
我有一个查询,当我直接通过MySQL管理器运行它时,它可以工作,但是这个查询在我的应用程序中似乎不起作用
我已将问题确定为以下查询:
SELECT task_id, member_id, SUM(NOT(ISNULL(completion_date))) AS complete, COUNT(id) AS total
FROM classroom_task_data
GROUP BY task_id, member_id
特别是总和(不是(ISNULL(完成日期))
如果我将其更改为SUM(I
我想按日期交叉加入(自加入?)。例如:
如果我有一张这样的桌子:
Date Number
0307 A
0307 B
0328 C
0401 A
0401 B
0519 A
0519 C
交叉连接后我想要的是:
Date Number Number
0307 A A
0307 A B
0307 B A
我已经从源代码下载并安装了MySQL。我的安装目录是/opt/mysql57/
我在手册中读到,我需要初始化数据库。所以我跑了
/opt/mysql57/bin/mysqld --initialize //
--user=mysql //
--datadir=/opt/mysql57/data //
--basedir=/opt/mysql57
这将创建包含4个文件的数据目录:
ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1
这是运行mys
我有一个问题。我想要这样的唱片:
subject_id question_id
3 4,5
id question subject_id
1 a 1
2 b 1
3 c 2
4 d 3
5 e 3
6 f 3
我的桌子看起来像这样:
subject_id question_id
3 4,5
id
我用错误的字符串更新了Name\u表.column\u 2数据。我更新的不是“约翰·史密斯”,而是“约翰·史密斯”
现在我想替换多个字符串,例如:'JohnSmith'为'JohnSmith','JohnDoe'为'JohnDoe'等
我不熟悉SQL,有人能帮我一次替换多个字符串吗
#Name_Table
Column_1 Column_2
1 JohnSmith
2 JohnSmith
3 JohnDoe
4
我不希望在具有开放文本密码的shell脚本中执行查询
#!/bin/bash
mysql -uuser -hremotehost -pmypassword -e "update my_table set what_time = NOW()";
有没有办法将mypassword放在我的本地/etc/my.cnf文件或其他文件中,以避免打开文本命令行
假设我的remotehost不接受mysql的密码。更新了答案
创建~/.my.cnf文件并将以下内容放入其中:
[foo]
user=user
p
给出以下MySQL语句:
SELECT name FROM jobtype_descriptions WHERE id IN (SELECT job_description FROM `table2` WHERE id IN (10684,10580,10583,10582,10581,10579,10576))
执行时,它会给出以下结果:
但是我想将内部select语句中的ids job_description列作为第一列。下面是内部select语句的结果:
我尝试使用第二个select
信息:
MySQL社区5.7.12 64位
编程语言:
Python 3.5
mysqld.cnf:
“显示变量”的结果
说明:
-我有20万个任务。
-我用500个线程处理这些任务,每个任务一个线程,当一个线程完成时,另一个任务开始。这一点的关键是运行的线程不能超过500个。
-我正在为每个线程创建一个连接。(pymysql)
-该线程中的每一个线程都会在查询“insert ignore”的情况下向表中进行大约350次插入。
-在一个有12列的表中,这是非常基本的插入
我有一台具有以下规格
表中有以下数据
from_date to_date
2015-05-12 2015-10-20
2015-10-21 2016-02-02
2016-02-03 NULL
其中to_date中的NULL值表示此记录在此之前有效
我要检索的记录介于“2015-10-30”和“2016-08-08”之间。如何根据我的搜索条件获取第二行和第三行?我很困惑,为什么您希望结果集中有第二行。这是一个松散的搜索范围(从开始日期或截止日期)
您可以尝试类似的方法:
SELECT
*
我有两张桌子。一个是TblPeople(ID(PK)、firstname、lastname、Embo..),另一个是TBLembolization(栓塞ID(PK)、PeopleID(FK)、栓塞日期
这是我的查询,用名字搜索有日期的人
SELECT tblpeople.FirstName,details.peopleID,details.embolizationDate FROM tblpeople
LEFT JOIN tblembolizations AS
每个用户都有一个可以管理的本地程序
猫(名字…)
进料(包含不同类型的进料:液体,…)
当猫吃了哪种类型的饲料(cat.nr、feed.nr、datetime)时,包含信息的“eat”列表
我将把这三个表导入MySQL数据库。
然后我需要一个SELECT语句来获取所有包含cat.name、feed.name和date的eat事件
问题是,每个用户可能都分配了一个不唯一的cat.nr或feed.nr(其他用户可能使用了相同的nr)。这不是主索引,但我使用它作为外键关系的索引,建议这样做吗
为了
我需要创建一个临时表,该表的列名将使用select命令动态生成(表示:另一个表的值)。但是当我运行该命令时,使用值而不是列名创建临时表。
我尝试了以下方法:
从表A中选择ColVal
表
------------------------
ColName | ColVal
------------------------
id | 1
----------------------
Name | Test
----------------------
Age |25
---
我有三个相同列的表(每个表有4列)。第一列是所有表中通用的唯一ID,两个表中的其他三列的数据(整数)为两个月
我想在第三个表中的每个唯一ID中插入两个表的每列中存在的值的差异
请帮助我在MySQL中创建一个过程 我不清楚为什么需要一个存储过程
insert into table1 (id,col1,col2,col3)
select t2.id,
t2.col1-t3.col1,
t2.col2-t3.col2,
t2.col3-t3.col3
from
为什么以下查询在结果字段中产生不一致的结果
SELECT
NOW() AS xTime,
FLOOR(RAND()*(99-35+1)+35) AS AddMins,
ADDTIME(
(SELECT xTime),
CONCAT('00:', CAST((SELECT AddMins) AS CHAR))) AS Result;
有时它会返回如下时间戳:
2018-08-06 15:45:16.000000
用6位小数代替0位
请帮助我优化下一个SQL查询
SELECT Executor_service.*, Executor.*
FROM Executor_service
INNER JOIN Executor ON Executor.user_id = Executor_service.executor_id
LEFT JOIN Cancel ON Cancel.executor_id = Executor.user_id AND Cancel.city_id = 3538
WHERE Cancel.order_
在上面的select语句中,我正在创建一个名为
新的_列及其值应基于case语句中的条件。
当我运行此查询时,“NEW_column”值返回为NULL。有人能帮我解决这个逻辑错误吗?你需要写column1为null类似地column1不为null
SELECT
column1,
column2,
(CASE WHEN column1=NULL THEN @NEW_column =column2
WHEN column1!=NULL THEN @NEW_column =column1
END)
我一直在尝试将日期和时间合并为日期时间。我的日期是varchar,我需要有一列datetime(作为datetime)
我的意见是:
create table t1 (
date1 varchar (12),
time1 varchar (39));
INSERT INTO t1 VALUES
('01.Mar.2019', '11:30'),
('02.Mar.2019', '1:30'),
('03.Mar.2019', '0:30'),
('03.Mar.2019', '10:30');
我有一个包含37000000行和3gb数据的表
CREATE TABLE `stats_raw` (
`user_id` INT(11) NOT NULL,
`date` DATETIME(6) NOT NULL,
`ip` VARBINARY(16) NULL DEFAULT NULL,
INDEX `stats_raw_user_id_index` (`user_id`),
INDEX `stats_raw_date_index` (`date`),
我的客户在Woocommerce上有一个1.2GB数据库的商店。我知道类似的商店(按产品计算)应该有大约700Mb
最大的表是wp_posts(760Mb)!我觉得这很奇怪。通常最大的表格是wp_postmete或wp_选项
我试着用插件优化这个数据库:WP-Sweep和WP-optimize,这样就没有修订和草稿了
我还尝试了SQL:
OPTIMIZE TABLE
但是它是innoDB,所以它不支持它。我得到这个信息:
表不支持优化,改为执行重新创建+分析
那么就这样了?我的意思是:“重新
使用下面的语法,t3(表3)列不显示,但我需要从表中获取页面ID。。有什么帮助吗
SELECT t1.*,
GROUP_CONCAT(t2.page_num separator ', ')pageNR
FROM t1
JOIN t2 ON t2.pid = t1.pid
JOIN t3 on t3.ID = t1.ID
WHERE t1.ID = ?
AND t3.page_num = t2.page_num
ORDER BY t1.tag
大概是这样
我有一个表,如图所示,我试图插入数据,但我不断得到错误。有人能提出什么样的问题吗
以下是我的表格结构:
我的插入查询:
不要使用null,而是将null放在语法中,或者将其留空
检查您试图输入的排名是否是字符串,因此不要只使用0,而是在查询中输入'0'。尝试共享查询和实际问题中的错误,正确格式为text。我想我没有使用任何保留关键字。谢谢您的回复。。但这也不起作用,并给出了相同的错误。请提供查询的书面代码以创建此表。我已编辑了问题并在上一页添加了查询there@NeerajN如果值是DEFAU
我在从包含多个MySQL查询的函数访问承诺时遇到问题。我需要问多个问题,并需要从数据库中的当前内容动态更新答案选项(这是可行的)
我需要将empId变量传递给最终查询,但得到一个错误“empId未定义”。当我使用console.log“employee”和“newrole”时,我会收到对象{whichep:'1eric Scott'}{newrole:'1senior Engineer'}
我已经尽了我所能,但我遇到了麻烦。我感谢您的反馈
function empUpRole() {
conne
标签: Mysql
Sql
countsubquerywindow-functions
我试图找出返回帖子的合适方法&一个查询中用户的帖子总数
因此,计算用户帖子总数的最简单方法是:
SELECT COUNT(id) as total FROM posts WHERE uID = 37;
+-------+
| total |
+-------+
| 10 |
+-------+
接下来,我更改了查询以返回帖子的ID,并将总结果限制在前5篇帖子。但是MySQL抛出了错误1140
SELECT id, COUNT(id) as total FROM posts WHERE
我有这样的结构:
+--------------------------------------+---------------------+--------+-------------+-------------+
| id | start | User | billedHours | trail90dsum |
+--------------------------------------+-
数据库包含有关参与者、角色和执行的角色的信息
Actor(actor_id, name, year_born)
Play(play_id, title, author, year_written)
Role(actor_id, character_name, play_id)
为什么这些尝试是错误的
要做:
SQL查询,返回1980年出生并在5部以上戏剧中演出的演员的姓名。
2.SQL查询,返回在作者“Arthur Miller”编写的所有剧本中扮演的演员的姓名
我对问题1的尝试
Sele
我有一个包含以下列的数据库:时间、设备、度量、值。对于每分钟,该数据库收集相应设备/度量组合的值
我试图编写代码,在每小时内给我一个平均值(例如,不是给我下午5-6点的60个值,而是平均5-6点和输出1个值之间的所有值)
到目前为止,我有以下代码:
SELECT
TIME_FLOOR(__time, 'PT1h') AS "__time_time_floor",
"value", COUNT(*) AS "Count"
FROM
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 6824 页