SQL集锦

目录
  1. 1. 将一个表的字段更新到另一个表中
  2. 2. MySQL删除重复记录并且只保留一条

将一个表的字段更新到另一个表中

今天,遇到一个需求是要将MySQL的一个表中的字段更新到另一个表中,开始,我尝试用以下的SQL解决:

1
2
3
4
UPDATE t_order_temp
SET price=t_order.amount
FROM t_order
WHERE t_order_temp.conNumber=t_order.conNo

但是没有成功,MySQL不支持这样的更新操作。
修改成如下的SQL语句模型:

1
2
3
UPDATE a,b  
SET a.name=b.name
WHERE a.id=b.id

MySQL删除重复记录并且只保留一条

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
DELETE
FROM
tableName
WHERE
filed IN (
SELECT
t.filed
FROM
(
SELECT
filed
FROM
tableName
GROUP BY
filed
HAVING
count(1) > 1
) t
)
AND id NOT IN (
SELECT
dt.mindeptno
FROM
(
SELECT
min(id) AS mindeptno
FROM
tableName
GROUP BY
filed
HAVING
count(1) > 1
) dt
)

把TableName换成你的表名,filed换成你要去重的字段