我们有两个Mysql数据库Myisam需要合并。它们都有相同的结构,目标是使用一个查询执行合并,将所有项目从一个数据库复制到另一个数据库
情况如下:
Red lines - Duplicate staff with same staff_id in both databases.
Blue lines - Duplicate staff with different staff_id in both databases.
Black line - Different staf
我正在使用与以下格式类似的数据集:
Table: Account
*-----------*----------*-------------*
| id | amount | date |
*-----------*----------*-------------*
| 1 | 100 | 01/01/2016 |
| 2 | 100 | 01/02/2016 |
| 3 | 100
我有一个item表,它有一个指向tax表的外键引用。该列是tax\u id
我以前在我的模式中将tax_id设置为notnull,但是我只是更改了它,因为我希望它是可选的,所以现在在模式中它是NULL默认值NULL
这打破了我的疑问。现在,当我查询项目并加入tax时,我只得到tax_id字段匹配的项目
这是我的疑问:
SELECT item.*
FROM item
JOIN user_item
ON user_item.item_id = item.id
JOIN tax
ON
我想要的是找到与user2 id=2关联的每个朋友,然后找到每个user2朋友和user1之间的共同朋友数
mysql将查找user2好友,并获得每个user2好友与user1的好友数
表用户
user_id | username
------------------
1 | user1
2 | user2
3 | user3
4 | user4
5 | user5
6 | user6
7
我有两个表,它们的Id索引了大约1M行
休闲查询
SELECT t.* FROM transactions t
INNER JOIN integration it ON it.id_trans = t.id_trans
WHERE t.id_trans = '5440073'
OR it.id_integration = '439580587'
此查询大约需要30秒。但是
SELECT ... WHERE t.id_trans = '5440073'
所需时间少于100毫秒,并且
SELEC
标签: Mysql
Sql
sumleft-joinaggregate-functions
我正在尝试按ward_名称分组,这是我唯一需要分组的内容,但我遇到以下错误:
\1055-SELECT列表的表达式2不在GROUP BY子句中,并且包含未聚合列“osunemonitor.r.entry_date”,该列在功能上不依赖于GROUP BY子句中的列;这与sql\u mode=only\u full\u group\u by不兼容
在我的问题中,我如何使其仅按ward_名称分组
我的问题是:
SELECT
pu.pu_ward_name,
entry_date,
我的数据库中有一个表,就像下面的示例一样,我想查询相同的数据,但在第2列中,数据的位置比前面的数据大1行
顺便说一句,我正在制作一个电表读数系统,我需要当前第1列和前2列的数据读数,以便计算电表的总消耗量。但我很难做到这一点。如有任何建议,将不胜感激。谢谢
示例数据:
所需的查询输出:
请记住,SQL表行没有固有的顺序。它们只是一袋袋的唱片
您必须根据某个列值或其他条件对它们进行排序。在您的情况下,我猜您希望每个帐户的最近和第二次最近的抄表。您的阅读表可能有如下列:
reading_id
这是一个mysql代码,用于打印小于1000的素数,但我不能正确理解它,有人能解释一下这里发生了什么吗
SELECT GROUP_CONCAT(NUMB SEPARATOR '&')
FROM (
SELECT @num:=@num+1 as NUMB FROM
information_schema.tables t1,
information_schema.tables t2,
(SELECT @num:=1) tmp
) tempNum
WHERE NUMB<
我有两个SQL语句,形式为SELECT sth FROM table WHERE condition。其中一个在我的系统的隐私规则中定义,表示当前用户可以访问的数据。另一个是由当前用户引入的,该用户希望从数据库中检索数据。因此,我想将这些句子的各个列相交,只检索用户请求并有权访问的句子
例如,假设我的策略中有SELECT*FROM表,它授予对所有内容的访问权,用户输入SELECT id,name FROM表。在本例中,我希望将SELECTID、name从表发送到数据库
另一个例子是,如果在策略集
我有一个由查询生成器生成的查询,它依赖于查询中用户变量的计算来影响查询中其他输出的生成。作为查询的一个简单示例,它可能如下所示:
从中选择*
选择a、b、c、,
@d:=a*b作为d,
@e:=从t2中选择MAXx,其中x>@d为e,
@f:=@e*c作为f,
...
从t1开始
哪里
tt
哪里
此系统的数据库服务器最近已升级到MySQL8,此查询现在产生大量1287条警告:
不推荐在表达式中设置用户变量,并将在将来的版本中删除。考虑备选方案:“设置变量=表达式,…”,或“选择表达式为无变量”
我有一个这样的事务表
id , name , code , flag
1 , john , 1234-3, 2
2 , joe , 1111-2, 1
3 , paul , 1234-3, 3
4 , asdf , 1234-3, 3
5 , asdf , 1111-2, 5
6 , asdf , 1234-3, 8
基本上,我要做的是获取代码的最后一个实例,检查标志,并使用最后一个标志num使用相同的代码更新所有以前的标志
因此,在代码1234-3
System.Web.Services.Protocols.SoapException:
Server was unable to process request. ---> MySqlException raised in OpenConnection,
Host is blocked because of many connection errors;
unblock with 'mysqladmin flush-hosts'
---内部异常堆栈跟踪的结束---
您知道为什么会
我有一个MySQL数据库正在生产中运行。我想在不停机的情况下将其复制到另一台服务器,复制后我希望它们同步。如果我通过获取数据库转储并将其恢复到新服务器,然后启动同步来实现,那么很可能会丢失一些记录。如何做到不停机、一致性好
谢谢看一看。看一看。innodb还是myisam?您已经在生成二进制日志了吗?数据集有多大?它的myisam,不会生成日志,大小约为60GB。如果未启用二进制日志记录,则在没有停机的情况下无法执行此操作。您需要重新启动以启用二进制日志。稍后我会尝试以更全面的回答回答。inno
我有一张像这样的桌子
ID Name
1 ABC
1 DEF
1 VVV
1 BBB
1 BCD
2 ZZZ
2 BAA
3 AAA
3 BBB
3 BBC
我想得到以A开头的所有名称与以B开头的所有名称的比率group by ID
所以输出应该是
ID Ratio
1 0.5
2 0
3 0.33
没有给我正确的答案。它将所有ID上A/B的总比率考虑在内,并为所有ID写入该数字 我想试试:
SELECT ID, CASE WHEN B = 0 THEN 0 ELSE A/B E
我正在开发一个最终将拥有数百万用户的系统。系统的每个用户都可以访问系统中的不同“选项卡”。我正在用一个名为usertabs的表跟踪这个问题。有两种方法可以解决这个问题
方式1:每个用户一行,包含userid和tab1-tab10作为int列
该系统的优点是通过userid获取单行的查询速度非常快,缺点是“空”列占用空间。另一个缺点是,当我需要添加一个新的选项卡时,我必须重新组织整个表,如果有数百万条记录,这可能会很乏味。但这种情况不会经常发生
方式2:一行包含userid和tabid,仅此而已。
如何在MySql中更改服务器系统变量
威尔,我要处理警告:
[警告]不推荐使用隐式默认值的时间戳。请
使用--explicit\u defaults\u for\u timestamp server选项(请参阅文档
有关更多详细信息)
当我想将\u timestamp的显式\u defaults\u更改为enable时,我使用以下语句:
mysqld--explicit_defaults_for_timestamp=TRUE
在我重新运行“mysqld”之后,同样的警告出现了
当我通过语句检查服
我有两个不同列的表。我想使用一个查询从这两个行中选择行,我将使用日期(时间戳)和用户ID来执行此操作。有可能把他们连在一起吗
tableone: id | userid | date | photo | caption | visible
tabletwo: id | userid | date | text | gender | notes
编辑:所需输出:
SELECT id, photo, caption, visible
FROM `tableone`
WHERE `userid`
标签: Mysql
subsetself-join
我试图将一个表连接到其自身的子集,但遇到了问题。我的输入包含一个ID和一个日期,如下所示:
2013-10-14 eca02319d91421445f82d570960c5d0c
2013-10-15 eca02319d91421445f82d570960c5d0c
2013-10-16 eca02319d91421445f82d570960c5d0c
2013-10-17 eca02319d91421445f82d570960c5d0c
2013-10-19 eca02319
这是我的sql行
我试过:
INSERT INTO delivery (Manifest_Id, , Expected_Start_DateTime, Expected_End_DateTime) VALUES ('SGP1361645SGP',2013-10-23 14:00:00,2013-10-23 18:00:00)
而这
INSERT INTO delivery (Manifest_Id, , Expected_Start_DateTime, Expected_End_DateTim
我希望有人能帮忙。我有一张桌子
name date number
John 2014-01-01 5
Sally 2014-01-01 7
John 2013-12-24 2
Sally 2013-12-24 7
John 2013-11-10 1
Sally 2012-11-10 8
我想得到每个人的最新2(或x)个记录,例如
John 2014-01-01 5
John 2013-12-24
我是MySQL新手,但是我需要MySQL来工作,因为它将是我新的SAN(服务器地址名称系统)系统的中心。这个系统的目的是为游戏服务器提供一个替换系统,因为一些游戏使用的默认Gamespy服务将在下个月底关闭
SAN中MySQL的功能是存储活动游戏服务器的IP和端口(通过补丁向MySQL发送信息),然后让客户端(同样,通过补丁从MySQL检索信息)将服务器添加到游戏服务器列表中
当然,这里的问题是,游戏服务器很容易因为1000多个原因中的任何一个而脱机,我们并不希望客户端的游戏显示处于脱机状态的游
我有两个SQL表
使用者
产品
ID | PR_NAME | USERID
01 | Apple | 002
02 | Pear | 001
03 | Tomato | 002
04 | Apple | 003
05 | Tomato | 001
06 | Apple | 001
如果我在表单/列表/应用程序中选择“苹果”,我想知道谁购买了“苹果”,以及这些人购买
我在MySQL中使用以下命令创建测试数据集:
CREATE TABLE test
(v1 INT,
v2 INT,
v3 INT);
INSERT INTO test (v1,v2,v3) VALUES(1,3,300);
INSERT INTO test (v1,v2,v3) VALUES(1,2,200);
INSERT INTO test (v1,v2,v3) VALUES(1,1,100);
INSERT INTO test (v1,v2,v3) VALUES(2,9
我在MySQL数据库中有这样的表结构:
#data_table
(id) | user_id | (more fields...)
#relations_table
(id) | user_id | user_coach_id | (...)
我想选择关系\u表中具有给定用户\u教练\u id的所有行,以及数据\u表中与用户id匹配的所有行。理想情况下,在一个查询中,甚至更理想的方式是使数据处理不太复杂
我的SQL技能有点生疏,所以我希望有人能帮我解决问题,或者至少指出正确的方向
(注意:在
我有一个只有三个字段的表:
userID (integer, key, autoincrement)
date (Y-m-d format)
hits (integer)
在其中,我每天填充数据(userID和date是唯一的),因此我有如下值:
1 | '2016-01-01' | 200
1 | '2016-01-02' | 289
2 | '2016-01-15' | 389
2 | '2016-01-16' | 390
....
我怎样才能得到:
上周的平均每日点击率
上个月的平均
t由用户输入给出。这是sql中通常的方法吗?因为我习惯于使用其他编程语言,所以我的第一个想法是将id存储在局部变量中,并使用该变量访问表。我想在sql中不是这样做的。In与=相同,只允许您将多个值相等如果子查询返回多个值,则将失败。通常,在编写SQL查询和访问datavase时,最佳做法是最小化数据库访问量。你的技术也可以,但不会很好。
CREATE TABLE Company
(
IDempresa INTEGER NOT NULL ,
Nome
在MySQL(5.7)JSON字段中查询值的正确环回过滤器格式是什么?例如,我们将如何使用环回REST过滤器执行此查询
查询
SELECT name, info->"$.id", info->"$.team"
FROM employee
WHERE JSON_EXTRACT(info, "$.team") = "A"
ORDER BY info->"$.id";
样本数据
+---------------------------+--------
我有一个用Wordpress制作的媒体网站,每天点击量约为2000次,发布帖子4000篇。
该网站在EC2实例m3.xlarge上运行了一年多,没有任何问题。但是我经常遇到RDS MySql的问题
我的RDS实例如下:
引擎:MySQL 5.7.11
实例:db.m3.medium
类型:标准电流
第1代vCPU:1
vCPU内存:3.75 GiB
EBS优化:否
网络性能:中等
存储类型:通用(SSD)
IOPS:禁用
存储:100GB
参数组:默认值
选项组:使用Memcached
Me
在MySQL和sqlite3中,1)使用嵌套视图编写查询通常比从视图复制代码并粘贴到更大的查询中要慢得多(来源:,,personal experience)。但是,2)我喜欢视图如何使SQL代码更短、更模块化,就像函数在其他语言中使代码更短、更模块化一样。最后,3)我很懒,我希望优化器为我做所有的工作,包括规划连接、选择索引和寻找效率。我怀疑如果我想自己动手并计划连接,我可以编写模块化和快速的查询,但我不想这样做
因此,在1)速度、2)模块化和3)轻松中,我似乎只能有两个如何将这三个查询都包含在
我有一个名为“Process”的表。它有以下列:
进程id
过程类型
地位
创建日期
更新日期
创建于
状态可以是1、2、3和null
状态1=批准的流程
状态2=未批准的流程
状态3=已取消的进程
状态null=正在进行中
现在我有了一个带有网格、下拉列表和按钮的页面。下拉列表包含“已批准(1)、未批准(2)、已取消(3)”选项。我正在做的是,如果下拉列表中没有选择,我将获取所有记录。我得到drop down的值,如果在drop down中没有选择,则该值为null。在SQL查询中,我
一个包含从Json生成的虚拟列的表,使用过程插入数据时出现错误(3102)。但是,我使用的是sql DML
INSERT INTO player_js(player_js.content)VALUES('{"nam":"hehe","lv":1,"car":2,"mny":7}')
插入数据是可以的。告诉我为什么
sql:
-- -------------------------------------------------------------------------
USE GameD
有时,我们使用的MySQL数据库会在/tmp磁盘上生成文件,以便在执行查询时临时存储结果
在StackOverflow上,有很多关于如何禁用此行为或通过使用RAM磁盘来加速此行为的文章
然而,我正在寻找一种优雅的方法来保存生成此类文件的查询,因为我相信大多数查询都可以优化
有没有办法记录这些查询?鉴于此类查询通常需要很长时间,我们可以假设这些都是慢速查询。我们可以使用slow\u query\u log\u文件和slow\u query\u log变量:
-- set the log file
我想要一张这样的桌子:
SHOPS
+----+------------+
| id | shop_name |
+----+------------+
ORDERBOOKINGS
+-----+---------+-------------+------------+
| id | shop_id | grand_total | created_at |
+-----+---------+-------------+------------+
SELECT
COUNT(orde
请参阅以下SQL
SELECT t1.*
FROM table1 t1
INNER JOIN table2 t2 ON t1.user_id = t2.id, tables3 t3
WHERE t3.id = 999
这里有什么样的会合?在t1和t3之间?。我是说逗号是怎么回事 A,FROM子句中的是一个不推荐使用的交叉连接缩写
编写查询的更好方法是使用显式的交叉联接:
SELECT t1.*
FROM table1 t1 INNER JOIN
table2 t2
ON
我有两张桌子:
reviewStatusPhases - id|name
及
reviewStatusPhases表中插入了记录(活动、非活动、暂停、终止…),并且userPhase为空
这些表格通过网络连接
userPhase.reviewStatusPhase_id = reviewStatusPhases.id
一对一
是否有可能在一个查询中我得到所有reviewStatusPhases,并告知每个阶段有多少用户?在这种情况下,我会得到如下结果:
Active (0 Users)
I
在MySQL中,我们可以用代码插入多行
INSERT INTO tbl_name
(a,b,c)
VALUES
(1,2,3),
(4,5,6),
(7,8,9);
有没有办法在一个MySQL存储过程中插入多行
创建存储过程:
调用存储过程:
检查此项:问题开始得更早:您无法轻松地将多行传递给过程(或返回它们)。您通常会为此使用一个临时表,然后您可以简单地执行insert。。。选择。。。从Tentiable@Jenish中,这个问题不能回答上述问题。在一个查询中
从这个表中,我试图先按特定的派别s对数据进行排序,然后按Score DESC继续排序,如下所示[它们都是type=all]
选择名称、分数
来自memebers
其中type=all
按id分组
按派别排序='Viva'描述,派别='Rico'描述,分数描述
我期望得到的是
Name | Faction | Score
----------------------------------------
Alpha | Viva | 7000
我正在尝试将数据建模工具(DbSchema)连接到运行在Google Cloud SQL中的MySQL数据库。云实例需要SSL。我已经下载了Mac的必要密钥,可以通过某些工具连接,比如Sequel Pro和MySQL Workbench。但是,这些工具为我提供了一种将关键位置输入其连接窗口的方法。但是,DbSchema没有——它所做的只是允许我修改它用来通过JDBC连接到DB的连接字符串
到目前为止,我得到的是:
jdbc:mysql://<MY IP ADDRESS>:3306?u
如何从数据库中删除一行,而不让每行都有唯一输入的列?
例如:
这样做的基本方式是:
DELETE FROM ____ WHERE ____
如果我删除,其中姓氏=Mark,我不会只删除1行,而是删除2行。解决这个问题的最好方法是使用主键,但我不能使用它(说来话长,不要问为什么:)。所以我需要另一种方法来解决这个问题
是否有任何方法可以删除行数
例如,假设我想删除带有标记Penda 18的行。我可以做一些类似于:
DELETE FROM ____ WHERE row = 3
数据库表是未排序的
我在mysql workbench中有一个大约30000条记录的表。在我运行此查询之前,一切正常:
select case when Breach = 'True' then 1
when Breach = 'False' then 0
else 'NN'
end as val
from evictions.evictions_sf
仅尝试替换布尔值w/1或0。现在,我的表正在读取所有空值-请参见图片。尝试
SELECT * from
我在laravel雄辩的询问中有一个错误:
“选择列表的表达式不在GROUP BY子句中,并且包含未聚合的列”
无论何时使用GROUPBY子句,我们选择的其余列都必须使用AGGEATE函数(如:min、max、avg、sum)
例如:
select sum(t.name),t.age
from table1 t
group by t.age
无论何时使用GROUPBY子句,我们选择的其余列都必须使用AGGEATE函数(如:min、max、avg、sum)
例如:
select sum(t.na
我一直在jhipster做一个项目。到目前为止,我正在努力使用RESTAPI获取currentdate表(约会)的记录。代码没有错误,但没有输出任何内容(我的表中也有数据)
`获取/约会支出:获取所有状态为挂起的约会
@param filter the filter of the request
@return the ResponseEntity with status 200 (OK) and the list of appointments in body
/
@GetMapping
我正在phpmyadmin上运行,需要更改列的值,以便它可以接受空值。任何关于如何做这件事的帮助都会很好。感谢在原始列定义上使用修改列:
首先使用showcreatetablecolumnname并查找原始列定义
然后更改该定义,使其不是notnull,而是包含例如defaultnull或此类内容
现在使用修改COLUMN columnname[更改的定义]将其提交给数据库
在原始列定义上使用修改列:
首先使用showcreatetablecolumnname并查找原始列定义
然后更改该定义
我需要按照以下格式显示足球比赛结果:
Team1Name Team1Score Team2Name Team2Score
其中表格设置为:
团队(团队ID、团队名称)
匹配结果(TeamID1、Team1Score、TeamID2、Team2Score)
我最初的直觉是在TeamID上加入它们,因为这是一个共享属性,但是在Match_结果表中有两个TeamID出现。您可以加入同一个表两次,如下所示:
select t1.team_name, team_1_score, t2.team_name
嘿,我只想为照片创建一个表。它有一个列,可以存储多种类型,就像它属于(野生动物、自然、冒险……等等)一样,并且标签与它自己的表一样,用于表更新记录。您可以继续保留6列
照片标签id、照片标签、照片链接、照片创建日期、照片更新日期
在MySql中存储数据时,该表在photo_tag_id和photo_tag上是唯一的,photo_tag主要索引在photo_tag_id上,次要索引在photo_tag列上。您始终可以根据photo_tag_id和photo_tag的筛选条件进行更新
photos:
在MySQL工作台中,我看到deamon进程处于挂起模式。需要帮助解决这个问题吗
多次重新启动服务器,无更改
生产停止了mysql日志怎么说?除非您详细解释或具体说明,否则没有帮助。
我需要从数据库中获取数据,其中元组ID与我传递的ID匹配
示例Id数组:[0,1,2,3,4,5,6,7,…]
项目数量可根据不同的要求而有所不同
SELECT expense_type, expense_category FROM expense_type WHERE expense_category_id=id1 OR expense_category_id=id2;
id1、id2是来自前端的ID。(6,7,…)
可以有多个来自前端的ID。请问在这种情况下,有没有办法从一个查询中提取数据
是否可以从特定的模式中获取包含sql脚本的表,这样我就不必双击该模式以使其与mysql中的默认/当前活动模式类似?只需将模式名称指定为sql语句的一部分,即可轻松实现这一点
例如,如果您的模式名为foobar,而您的表名为myTable:
SELECT *
FROM `foobar`.`myTable`;
其语法很简单:
-- With backticks
`schema_name`.`table_name`
-- Without backticks
schema_name.tabl
我试图从一个消息表中获取最新消息,按发件人或收件人分组(取决于哪个存在,哪个是最新的),然后左键从另一个表(用户)加入用户名
假设我希望ID为12(即我)的用户发送和接收所有消息,然后根据与我对话的人从另一个表中加入用户名
PHP:
$userId=12
MySQL
这段代码运行得很好,但左连接显然毫无意义,因为它总是使用1作为比较,但它应该使用发送者或接收者(取决于$userId是什么)
当我用message.sender替换1时,每个示例中,我只在“on子句”中得到未知列“message.s
我现有的表格:
+-----------------+---------------+------+-----+---------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+-------------------+
| cre
1 2 3 4 5 6 ...
下一页 最后一页 共 3747 页