相关疑难解决方法(0)

检索每个组中的最后一条记录 - MySQL

有一个表messages包含如下所示的数据:

Id   Name   Other_Columns
-------------------------
1    A       A_data_1
2    A       A_data_2
3    A       A_data_3
4    B       B_data_1
5    B       B_data_2
6    C       C_data_1
Run Code Online (Sandbox Code Playgroud)

如果我运行查询select * from messages group by name,我会得到如下结果:

1    A       A_data_1
4    B       B_data_1
6    C       C_data_1
Run Code Online (Sandbox Code Playgroud)

什么查询将返回以下结果?

3    A       A_data_3
5    B       B_data_2
6    C       C_data_1
Run Code Online (Sandbox Code Playgroud)

也就是说,应返回每组中的最后一条记录.

目前,这是我使用的查询:

SELECT
  *
FROM (SELECT
  *
FROM messages
ORDER BY id DESC) AS x
GROUP BY name
Run Code Online (Sandbox Code Playgroud)

但这看起来非常低效.还有其他方法可以达到相同的效果吗?

mysql sql group-by greatest-n-per-group

887
推荐指数
17
解决办法
58万
查看次数

如何临时禁用MySQL中的外键约束?

是否可以暂时禁用MySQL中的约束?

我有两个Django模型,每个模型都有一个ForeignKey到另一个.由于ForeignKey约束,删除模型的实例会返回错误:

cursor.execute("DELETE FROM myapp_item WHERE n = %s", n)
transaction.commit_unless_managed()  #a foreign key constraint fails here

cursor.execute("DELETE FROM myapp_style WHERE n = %s", n)
transaction.commit_unless_managed()
Run Code Online (Sandbox Code Playgroud)

是否可以暂时禁用约束并删除?

mysql sql django django-models

605
推荐指数
8
解决办法
63万
查看次数

删除除MySQL中的One之外的所有重复行?

可能重复:
删除MySQL中的重复行

如何从MySQL表中删除所有重复数据?

例如,使用以下数据:

SELECT * FROM names;

+----+--------+
| id | name   |
+----+--------+
| 1  | google |
| 2  | yahoo  |
| 3  | msn    |
| 4  | google |
| 5  | google |
| 6  | yahoo  |
+----+--------+
Run Code Online (Sandbox Code Playgroud)

我会使用,SELECT DISTINCT name FROM names;如果它是一个SELECT查询.

我怎么做DELETE才能删除重复项并保留每个重复记录?

mysql sql duplicates

403
推荐指数
2
解决办法
44万
查看次数

删除MySQL中的重复行

我有一个包含以下字段的表:

id (Unique)
url (Unique)
title
company
site_id
Run Code Online (Sandbox Code Playgroud)

现在,我需要删除具有相同的行title, company and site_id.一种方法是使用以下SQL和脚本(PHP):

SELECT title, site_id, location, id, count( * ) 
FROM jobs
GROUP BY site_id, company, title, location
HAVING count( * ) >1
Run Code Online (Sandbox Code Playgroud)

运行此查询后,我可以使用服务器端脚本删除重复项.

但是,我想知道是否只能使用SQL查询来完成.

mysql sql duplicates

351
推荐指数
15
解决办法
35万
查看次数

mysql - 如果null超过特定数量,则删除行

我有一张桌子:

id | name1 | name2 | name3
 1 |  asa  |  NULL |  das
 2 |  NULL |  NULL |  asas

我想删除有两次或多次NULL值的每一行(这里,id为2的
那个)我已经用一个小的PHP脚本做了但我不知道是否可以用mysql查询完成

我是mysql的新手,所以我还没有尝试过任何东西!

mysql

5
推荐指数
1
解决办法
1万
查看次数

Rails 5 ActiveRecord删除重复项

我有一个Rails 5应用程序.我有一个表格,里面填写了从各种来源提取的URL数据:

id     url
1      http://google.com
2      http://yahoo.com
3      http://msn.com
4      http://google.com
5      http://yahoo.com
6      http://askjeeves.com
Run Code Online (Sandbox Code Playgroud)

如何从此表中删除重复项?

activerecord ruby-on-rails

5
推荐指数
3
解决办法
1927
查看次数

MySQL - 从列复制的表中删除行

可能重复:
如何从mysql中的表中删除重复的行

我有一个简单的请求,正在变成一场噩梦.

我有一个表'MyTableA',有两列ID(int)和Value(varchar(100))

该表有一些像这样的值:

ID|Value
1|Apple
2|Apple
3|Apple

如果值是重复的,我想保留第一个ID行并删除其余行.所以在上面的例子中我想删除ID为2和3的行.

我认为这很简单,但可能是因为我正在使用带有子句的SQL.

谢谢!

mysql sql duplicates

3
推荐指数
1
解决办法
4667
查看次数

删除MySQL中的重复条目(最好是phpmyadmin)

所以我有一个表有多个相同的条目,我想删除重复的条目,但保留最新的记录,如果这是有道理的..

我有唯一的ID列,而我想要的只有1个相同的整数是"所有者"列,因为不需要有多个.

任何帮助是极大的赞赏.

mysql sql

1
推荐指数
1
解决办法
1万
查看次数