标签: sql

删除除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万
查看次数

SQL Server查询 - 使用DISTINCT选择COUNT(*)

在SQL Server 2005中,我有一个表cm_production,其中列出了所有已投入生产的代码.该表有ticket_number,program_type,program_name和push_number以及其他一些列.

目标:按程序类型和推送号计算所有DISTINCT程序名称

到目前为止我所拥有的是:

DECLARE @push_number INT;
SET @push_number = [HERE_ADD_NUMBER];

SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] 
FROM cm_production 
WHERE push_number=@push_number 
GROUP BY program_type
Run Code Online (Sandbox Code Playgroud)

这让我在那里,但它计算所有的程序名称,而不是不同的程序名称(我不希望它在该查询中做).我想我无法绕过如何告诉它只计算不同的程序名而不选择它们.或者其他的东西.

sql t-sql sql-server sql-server-2005

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

导出数据在SQL Server中作为INSERT INTO

我正在使用SQL Server 2008 Management Studio并且有一个我想要迁移到其他数据库服务器的表.

有没有选项将数据导出为插入SQL脚本?

sql sql-server data-migration insert

398
推荐指数
7
解决办法
39万
查看次数

在MySql中执行查询时与only_full_group_by相关的错误

我已经升级了我的系统,并为我正在处理的Web应用程序安装了MySql 5.7.9和php.我有一个动态创建的查询,当在旧版本的MySql中运行时,它可以正常工作.自升级到5.7后,我收到此错误:

SELECT列表的表达式#1不在GROUP BY子句中,并且包含非聚合列'support_desk.mod_users_groups.group_id',它在功能上不依赖于GROUP BY子句中的列; 这与sql_mode = only_full_group_by不兼容

请注意有关服务器SQL模式主题的Mysql 5.7的手册页.

这是给我带来麻烦的查询:

SELECT mod_users_groups.group_id AS 'value', 
       group_name AS 'text' 
FROM mod_users_groups
LEFT JOIN mod_users_data ON mod_users_groups.group_id = mod_users_data.group_id 
WHERE  mod_users_groups.active = 1 
  AND mod_users_groups.department_id = 1 
  AND mod_users_groups.manage_work_orders = 1 
  AND group_name != 'root' 
  AND group_name != 'superuser' 
GROUP BY group_name 
HAVING COUNT(`user_id`) > 0 
ORDER BY group_name
Run Code Online (Sandbox Code Playgroud)

我在这个问题上做了一些谷歌搜索,但我不明白only_full_group_by弄清楚我需要做些什么来修复查询.我可以关掉这个only_full_group_by选项,还是我需要做些什么呢?

如果您需要更多信息,请与我们联系.

mysql sql group-by mysql-error-1055

394
推荐指数
13
解决办法
50万
查看次数

UPDATE和REPLACE字符串的一部分

我有一个有两列的表,IDValue.我想在第二列中更改某些字符串的一部分.

表格示例:

ID            Value
---------------------------------
1             c:\temp\123\abc\111
2             c:\temp\123\abc\222
3             c:\temp\123\abc\333
4             c:\temp\123\abc\444
Run Code Online (Sandbox Code Playgroud)

现在,123\Value字符串是不必要的.我试着UPDATEREPLACE:

UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4
Run Code Online (Sandbox Code Playgroud)

当我执行脚本时,SQL Server不会报告错误,但它也不会更新任何内容.这是为什么?

sql sql-server string replace sql-server-2008

392
推荐指数
6
解决办法
79万
查看次数

如何在Oracle上使用AUTO_INCREMENT创建id?

似乎在Oracle中没有AUTO_INCREMENT的概念,直到包括版本11g.

如何在Oracle 11g中创建一个行为类似自动增量的列?

sql oracle auto-increment

390
推荐指数
9
解决办法
89万
查看次数

Hibernate显示真正的SQL

如果我订

<property name="show_sql">true</property>
Run Code Online (Sandbox Code Playgroud)

在我的控制台的hibernate.cfg.xml配置文件中,我可以看到SQL.

但它不是真正的 SQL ......我能看到将直接传递给数据库的SQL代码吗?

例:

我知道了

select this_.code from true.employee this_ where this_.code=?
Run Code Online (Sandbox Code Playgroud)

我可以看吗

select employee.code from employee where employee.code=12
Run Code Online (Sandbox Code Playgroud)

真正的 SQL?

java sql orm hibernate

384
推荐指数
4
解决办法
47万
查看次数

我如何(或可以)在多列上选择DISTINCT?

我需要检索表中的所有行,其中2列组合都是不同的.因此,我希望所有在同一天没有任何其他销售的销售以相同的价格出售.基于日期和价格的唯一销售将更新为活动状态.

所以我在想:

UPDATE sales
SET status = 'ACTIVE'
WHERE id IN (SELECT DISTINCT (saleprice, saledate), id, count(id)
             FROM sales
             HAVING count = 1)
Run Code Online (Sandbox Code Playgroud)

但是我的大脑比那更远了.

sql postgresql distinct duplicates sql-update

382
推荐指数
4
解决办法
86万
查看次数

显式vs隐式SQL连接

在显式vs隐式内连接中是否存在效率差异?例如:

SELECT * FROM
table a INNER JOIN table b
ON a.id = b.id;
Run Code Online (Sandbox Code Playgroud)

SELECT a.*, b.*
FROM table a, table b
WHERE a.id = b.id;
Run Code Online (Sandbox Code Playgroud)

sql join

380
推荐指数
7
解决办法
16万
查看次数

如何删除sql server中的重复行?

我怎么能unique row idunique row id存在?

我的桌子是

col1  col2 col3 col4 col5 col6 col7
john  1    1    1    1    1    1 
john  1    1    1    1    1    1
sally 2    2    2    2    2    2
sally 2    2    2    2    2    2
Run Code Online (Sandbox Code Playgroud)

我希望在重复删除后留下以下内容:

john  1    1    1    1    1    1
sally 2    2    2    2    2    2
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些查询,但我认为它们依赖于行ID,因为我没有得到理想的结果.例如:

DELETE
FROM table
WHERE col1 IN (
    SELECT id
    FROM table
    GROUP BY id
    HAVING (COUNT(col1) > 1)
)
Run Code Online (Sandbox Code Playgroud)

mysql sql duplicates sql-server-2008 sql-delete

379
推荐指数
12
解决办法
80万
查看次数