小编Bla*_*umi的帖子

从表中的重复记录中获取最新ID

所以我有两个表,一个是RAWtable,另一个是MAINtable,如果存在多个记录(比较相同的名称,代码),我必须得到最新的groupID.例如,我在RAWtable上有这个:

id  groupid     name        code
1   G09161405   Name1       Code1
2   G09161406   Name1       Code1
Run Code Online (Sandbox Code Playgroud)

这两个记录应该被视为一个,并且只应返回此值:

id  groupid     name        code
2   G09161406   Name1       Code1
Run Code Online (Sandbox Code Playgroud)

此行是shiuld在主表中插入的唯一行.提供返回最新的GroupID(groupid是日期和时间的组合)

我试过这个,但它不起作用:

SELECT MAST.ID, MAST.code, MAST.name FROM RAWtable AS MAST INNER JOIN 
(SELECT code, name, grouid,id FROM RAWtable AS DUPT GROUP BY code, name, groupid,id HAVING COUNT(*) >= 2) DUPT
 ON  DUPT.code =MAST.code and DUPT.name =MAST.name where dupt.groupid >mast.groupid 
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?非常感谢.

sql

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

如何通过JOIN从另一个表中查找不存在的数据?

我有两个表TABLE1,它们看起来像:

id      name     address
1       mm     123
2       nn     143
Run Code Online (Sandbox Code Playgroud)

和TABLE2 w/c看起来像:

name     age
mm      6
oo      9
Run Code Online (Sandbox Code Playgroud)

我想通过比较来获得不存在的名称TABLE1TABLE2.

所以基本上,我必须得到第二行,w/c有一个不存在的NN名称,TABLE2输出应该如下所示:

id      name     address
2      nn      143
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它不起作用:

SELECt  w.* FROM TABLE1 W INNER JOIN TABLE2 V
  ON W.NAME <> V.NAME
Run Code Online (Sandbox Code Playgroud)

它仍然获得现有记录.

mysql sql join anti-join

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

使用主键获取重复记录

我使用sqso我有3个字段:

ID        CustomerNo        Date
1           0009                9/9/2011
2           0009                9/9/2011
3           0009                9/9/2011
4           0010                9/9/2011
Run Code Online (Sandbox Code Playgroud)

我想确定具有相同customerno和date的记录,并获得每个唯一ID.

ID        CustomerNo        Date
1           0009                9/9/2011
2           0009                9/9/2011
3           0009                9/9/2011
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我试过这段代码:

SELECT DISTINCT S1.ID,  S1.customerno, S1.DATE
FROM TABLE AS S1
INNER JOIN TABLE AS S2
ON  S1.DATE=S2.DATE AND S1.CUSTOMERNO=S2.CUSTOMERNO 
AND S2.id <= S1.id
GROUP BY S1.customerno, S1.id , S1.DATE
Run Code Online (Sandbox Code Playgroud)

但它也获得了第4号记录,不同的客户没有,但具有相同的日期.

我想只获得customerno和date中重复的那些.

sql

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

标签 统计

sql ×3

anti-join ×1

join ×1

mysql ×1