Redian新闻
>
How to find all duplicate record in SQL?
avatar
How to find all duplicate record in SQL?# Database - 数据库
g*o
1
刚寄出申请不到一周,担保人美国老公突然收到IRS的欠税通知,要求补交税款。担保
人的前三年税都是按时交的,申请材料里附的是当年退税表的复印件。现在是准备马上
补交税款,不过政府部门再快也要2-3周吧。只是希望赶在移民局核查材料之前能让国
税局把这个差额补上。这补税的事要主动通知移民局吗,通知哪个部门?
这个IRS计算的补税也不对,都不知道他们怎么算得,反正这个节骨眼上找上来,真的
是麻烦死了。
avatar
s*0
2
以前我经常提到打牌最重要的是思考,那么第二重要的会是什么呢?我个人观点是埋牌
。因为它决定了一把牌的走向,也决定了可赢可输的牌的结局。下面我把怎么埋牌给大
家说一说。
作为一个庄家,拿到底牌之后,马上要有个全面的分析思考。正所谓兵马未动,粮草先
行。谁亮的主,在什么时候亮的,都很重要。我把一些经常遇到的情况总结如下:
1. 如果帮庄在中期或者早期就亮了,或者加固了,特别是反了庄亮的主,那么说明对
家主很好。结合自己的牌的情况,可以考虑埋分,绝门。当然,如果你的主太烂,那么
埋分还是要谨慎的。
2. 如果敌人亮的,你的主很差,那么不要去赌对家去给你保底。如果你的主很强,那
么照样可以考虑埋分,不要胆小一分都不敢埋。
3. 有些人,自己亮的主,12张以上并且有大小王都不敢埋分,这样的先去练练胆量再
来打牌!学学九品芝麻官里面的周星驰面朝大海练习骂人吧!有些人,难道非要给你4
个王,给你24个主你才敢下10分吗?
4. 埋牌要结合自己的牌,比如有一门,你一分没有,或者就5分,那么请你埋绝它,或
者裸分。如果你有主对,那么如果裸分的话,请直接打掉这个5. 有些人,应该说大部
分人,看着自己的这种副牌的对子视如珍宝,舍不得埋掉,比如QQ99这样的。殊不知,
敌人有kk1010的概率是很大的。你不信你就去试试。什么时候该留这样的QQ99呢?当你
每一门副牌都没什么分,都很弱,当然就赌一把留下它们了。
5. 当你有一门副牌长套,可以考虑用它来保底。当然,这个需要魄力与勇气。这个不
是每个人都能做到的。这种牌,往往埋绝其它两门,或者一门,是取胜的唯一途径。很
多人不敢,所以导致输牌。
6. 什么时候埋主,我以前在基本常识贴里提到过一次。当你的副牌都很强,分也多,
特别是你对家亮的主的时候,并且你的主还没什么分。那么你留着主就是个累赘。打NT
也一样,如果你就1-2个常主,没王,特别是你对家一对大/小王,那么留着主就是没用
的,除非你能绝一门,用来杀牌,否则还是埋掉吧。可以考虑留一个主给对家上手,看
情况吧。
7. 什么时候裸分,什么时候拆对子埋,都要分析牌后才能做出决定。当你一门有510k
,留着小对子就是多余的。当然有时候即使大对子都是多余的。你把QQ这样的大对子打
出去,说不定对家刚好有JJ,一分都抓不到,自己的分还没法跑掉。如果QQ埋了,对家
JJ打过来,10K就跑了。这个也在基本常识贴里提到过。
打牌第三重要的我觉得是亮主了,我在基本常识贴里也提到过,这里就不重复了。有兴
趣的可以参考下面的基本常识贴。
1. http://www.mitbbs.com/clubarticle/tuolaji/117457_0.html
2. http://www.mitbbs.com/clubarticle/tuolaji/117461_0.html
3. http://www.mitbbs.com/clubarticle/tuolaji/117475_0.html
4. http://www.mitbbs.com/clubarticle/tuolaji/117483_0.html
5. http://www.mitbbs.com/clubarticle/tuolaji/117559_0.html
6. http://www.mitbbs.com/clubarticle/tuolaji/117681_0.html
7. http://www.mitbbs.com/clubarticle/tuolaji/118043_0.html
8. http://www.mitbbs.com/clubarticle/tuolaji/118219_0.html
9. http://www.mitbbs.com/clubarticle/tuolaji/118221_0.html
10. http://www.mitbbs.com/clubarticle/tuolaji/118225_0.html
11. http://www.mitbbs.com/clubarticle/tuolaji/118491_0.html
12. http://www.mitbbs.com/clubarticle/tuolaji/118535_0.html
13. http://www.mitbbs.com/clubarticle/tuolaji/120057_0.html
14. http://www.mitbbs.com/clubarticle/tuolaji/122699_0.html
15. http://www.mitbbs.com/article0/WmGame/31152055_0.html
进阶贴如下,有兴趣的也可以浏览一下:
打牌是一项能体现一个人综合素质的体育运动:
http://www.mitbbs.com/article0/WmGame/31139395_0.html
我来带你飞—拖拉机进阶必备之知识点:
http://www.mitbbs.com/clubarticle/tuolaji/125671_0.html
对帮庄的能不能让庄杀牌的深入分析:
http://www.mitbbs.com/article0/WmGame/31138173_0.html
聊一聊打牌最重要的东西 — 思考:
http://www.mitbbs.com/article0/WmGame/31138179_0.html
再次说说思考的重要性:
http://www.mitbbs.com/article0/WmGame/31145039_0.html
思考的人太少了!:
http://www.mitbbs.com/article_t0/WmGame/31155329.html
庄家如何最大化地利用手里的牌 -- 谈一谈找信号的重要性: http://www.mitbbs.com/article3/WmGame/31141153_0_tp.html
通往神的路,如何去找?:
http://www.mitbbs.com/article_t0/WmGame/31155285.html
先机的重要性—一个很好的牌例:
http://www.mitbbs.com/article_t0/WmGame/31155331.html
对起手强调主的看法:
http://www.mitbbs.com/article_t0/WmGame/31155337.html
对起手Q的打法的讨论:
http://www.mitbbs.com/article0/WmGame/31152339_0.html
一吐为快,不吐实在憋得慌:
http://www.mitbbs.com/article_t0/WmGame/31155055.html
avatar
W*d
3
"指揮:連芳貝 /
鋼琴:陳丹怡 /
小提琴:楊欣瑜 /
豎笛:李昆峰 /
打擊:簡任廷、簡任佑
本曲原收錄於1997年發行的"口是心非"專輯。此專輯是張雨生創作巔峰時期代表作
,然發片數天後他便發生意外辭世。歌迷普遍認為這是一首描寫情慾的歌曲,但也有樂
評人指­出曲中的"她"是張雨生的靈感泉源之一─淡水河。有別於當時多數流行樂
,此曲以含蓄而富有情感的文字描寫情人間的溫柔與癡情,值得細細品味。"
avatar
n*e
4
想找系里一个老师帮我推荐工作,不知怎么说比较合适, 谢了先!
avatar
d*8
5
我发包子的瘾又犯了
热吧
avatar
c*e
6
如果不重复的记录就不要了。只要出现过两次或者两次以上的记录。每个重复记录只要
一次就行了。
avatar
s*t
7
一般都不能主动邮寄东西给移民局。如果需要,等他们的RFE就好了。
但是你这情况,应该没啥问题。别担心。

【在 g*******o 的大作中提到】
: 刚寄出申请不到一周,担保人美国老公突然收到IRS的欠税通知,要求补交税款。担保
: 人的前三年税都是按时交的,申请材料里附的是当年退税表的复印件。现在是准备马上
: 补交税款,不过政府部门再快也要2-3周吧。只是希望赶在移民局核查材料之前能让国
: 税局把这个差额补上。这补税的事要主动通知移民局吗,通知哪个部门?
: 这个IRS计算的补税也不对,都不知道他们怎么算得,反正这个节骨眼上找上来,真的
: 是麻烦死了。

avatar
n*s
8
真能写。埋牌不也是思考?按我说,第一是运气,第二是思考
avatar
t*e
9
do u mean u r looking for a job and wonder if h knows any suitable positons?

【在 n*******e 的大作中提到】
: 想找系里一个老师帮我推荐工作,不知怎么说比较合适, 谢了先!
avatar
h*c
10
avatar
g*l
11
这个问题我面试的时候问过无数次了
DISTINCT去除DUPLICATE RECORD
GROUP BY 去除DUPLICATE KEY
你要这个都不会的话,基本的SQL不懂
avatar
l*d
12
的确如此。建议楼主把税补好,耐心等候

【在 s******t 的大作中提到】
: 一般都不能主动邮寄东西给移民局。如果需要,等他们的RFE就好了。
: 但是你这情况,应该没啥问题。别担心。

avatar
s*0
13
呵呵,是,思考永远包括了所有的东西。我只是细分一下各个方面哪个更重要一些。
运气是不归人为控制的东西,不在我讨论范围内。

【在 n******s 的大作中提到】
: 真能写。埋牌不也是思考?按我说,第一是运气,第二是思考
avatar
b*k
14
Hi, Professor X,
Recently I am in a job hunting, and just found a job position
in XXX which I thought very fit my background. And I know you
have good connection with XXX, so I wonder if you could do me
a favor to give me a refer on the application to that position.

【在 n*******e 的大作中提到】
: 想找系里一个老师帮我推荐工作,不知怎么说比较合适, 谢了先!
avatar
h*c
15
竟然是沙发
avatar
y*9
16
I guess you imply that duplicate means every columns in two rows are same. I
have a need to delete duplicate rows before, where duplicate means only
unique key columns are same. (see: http://oracle-study-notes.blogspot.com/2008/06/resolve-issue-of-duplicated-rows-in.html )
Here is a good post for Oracle, but should be applicable for SQL Server too
http://viralpatel.net/blogs/2010/06/deleting-duplicate-rows-in-

【在 c**********e 的大作中提到】
: 如果不重复的记录就不要了。只要出现过两次或者两次以上的记录。每个重复记录只要
: 一次就行了。

avatar
g*o
17
人真好,。。。
谢谢安慰,那我就忐忑的等着吧。
avatar
K*D
18
第一重要输了就跑。
第二重要抱桌主。

【在 s*******0 的大作中提到】
: 以前我经常提到打牌最重要的是思考,那么第二重要的会是什么呢?我个人观点是埋牌
: 。因为它决定了一把牌的走向,也决定了可赢可输的牌的结局。下面我把怎么埋牌给大
: 家说一说。
: 作为一个庄家,拿到底牌之后,马上要有个全面的分析思考。正所谓兵马未动,粮草先
: 行。谁亮的主,在什么时候亮的,都很重要。我把一些经常遇到的情况总结如下:
: 1. 如果帮庄在中期或者早期就亮了,或者加固了,特别是反了庄亮的主,那么说明对
: 家主很好。结合自己的牌的情况,可以考虑埋分,绝门。当然,如果你的主太烂,那么
: 埋分还是要谨慎的。
: 2. 如果敌人亮的,你的主很差,那么不要去赌对家去给你保底。如果你的主很强,那
: 么照样可以考虑埋分,不要胆小一分都不敢埋。

avatar
t*e
19
Dear Professor X,
Hope everything has been going well.
I have been searching for a job for a while and just found a job
position opening at XXX, which I am very interested at. ....(describing that
position)
I wonder if you could refer me to that position. That would be great.
Please let me know. Thx.

【在 b***k 的大作中提到】
: Hi, Professor X,
: Recently I am in a job hunting, and just found a job position
: in XXX which I thought very fit my background. And I know you
: have good connection with XXX, so I wonder if you could do me
: a favor to give me a refer on the application to that position.

avatar
d*8
20
你反应真快

【在 h****c 的大作中提到】
: 竟然是沙发
avatar
p*t
21
lz的问题是怎么找到,不是怎么去掉.

【在 g***l 的大作中提到】
: 这个问题我面试的时候问过无数次了
: DISTINCT去除DUPLICATE RECORD
: GROUP BY 去除DUPLICATE KEY
: 你要这个都不会的话,基本的SQL不懂

avatar
s*0
22
你这还是属于运气范畴,不在我讨论范围。

【在 K****D 的大作中提到】
: 第一重要输了就跑。
: 第二重要抱桌主。

avatar
o*e
23
match my background?
fit me

【在 b***k 的大作中提到】
: Hi, Professor X,
: Recently I am in a job hunting, and just found a job position
: in XXX which I thought very fit my background. And I know you
: have good connection with XXX, so I wonder if you could do me
: a favor to give me a refer on the application to that position.

avatar
a*u
24
re

【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
c*e
25
My input data set:
AAA 4 5
AAA 4 5
AAA 4 4
AAA 5 5
BBB 4 5
Need to output:
AAA 4 5
This is the only duplicate record!

【在 g***l 的大作中提到】
: 这个问题我面试的时候问过无数次了
: DISTINCT去除DUPLICATE RECORD
: GROUP BY 去除DUPLICATE KEY
: 你要这个都不会的话,基本的SQL不懂

avatar
K*D
26
but 可控制。

【在 s*******0 的大作中提到】
: 你这还是属于运气范畴,不在我讨论范围。
avatar
h*o
27

that
顶...收藏了..

【在 t*****e 的大作中提到】
: Dear Professor X,
: Hope everything has been going well.
: I have been searching for a job for a while and just found a job
: position opening at XXX, which I am very interested at. ....(describing that
: position)
: I wonder if you could refer me to that position. That would be great.
: Please let me know. Thx.

avatar
h*c
28
这种10个包子瞬间就没的帖子我竟然能抢到沙发,真是旷古绝今啊

【在 d********8 的大作中提到】
: 你反应真快
avatar
g*l
29
"重复记录只要一次就行了",哪里说找到了?

【在 p*********t 的大作中提到】
: lz的问题是怎么找到,不是怎么去掉.
avatar
h*0
30


【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
p*t
31
"How to find all duplicate record in SQL?"

【在 g***l 的大作中提到】
: "重复记录只要一次就行了",哪里说找到了?
avatar
d*8
32
马甲没有

【在 h*****0 的大作中提到】
: 热
avatar
l*8
33
....
have xxxx > 1
avatar
T*e
34
热吃

【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
w*n
35
group by having count(sth)>1
avatar
s*o
36
re

【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
m*y
37
Let's say you have first name, last name, and address in one table.
Here duplicate means same firstname&lastname&address combination, for
instance:
John|Doe|123 Main st|...|...
John|Doe|123 Main st|...|...
Mike|Smith|567 Springfield ave|...|...
to find duplicate, do this:
select * from dbo.person where firstname+lastname+address
in (select firstname+lastname+address from dbo.person
group by firstname+lastname+address having count(*)>1)
Does this make sense?
avatar
e*y
38
热~~

【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
r*l
39
What is the meaning or "+" in "firstname+lastname+address". I am not a SQL
expert so forgive my simple question :)

【在 m*********y 的大作中提到】
: Let's say you have first name, last name, and address in one table.
: Here duplicate means same firstname&lastname&address combination, for
: instance:
: John|Doe|123 Main st|...|...
: John|Doe|123 Main st|...|...
: Mike|Smith|567 Springfield ave|...|...
: to find duplicate, do this:
: select * from dbo.person where firstname+lastname+address
: in (select firstname+lastname+address from dbo.person
: group by firstname+lastname+address having count(*)>1)

avatar
l*t
40
re
avatar
m*y
41
+ is concatenation ; we use that a lot to find out and furthuer more, to
remove duplicate record. But, first thing first, how do you define your
duplicate is up to you.
you can use the Plus sign to concatenate string together...
Usually a table contains many, if not thousands of same first name, so, only
the same firstname&lastname&address combination together truly counts as a
duplicate.. it depends on how you define *duplicate* in your own table..
avatar
v*a
42


【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
a9
43
这个执行起来估计很慢。
记得前阵子有人发了个hash的函数还是啥来着,有谁还记得?

【在 m*********y 的大作中提到】
: Let's say you have first name, last name, and address in one table.
: Here duplicate means same firstname&lastname&address combination, for
: instance:
: John|Doe|123 Main st|...|...
: John|Doe|123 Main st|...|...
: Mike|Smith|567 Springfield ave|...|...
: to find duplicate, do this:
: select * from dbo.person where firstname+lastname+address
: in (select firstname+lastname+address from dbo.person
: group by firstname+lastname+address having count(*)>1)

avatar
s*n
44
avatar
r*l
45
What if there are two records:
John|Doe|123 Main st|...|...
John|Doe1|23 Main st|...|...
I believe Oracle has something like "group by col1, col2, etc". Why don't
you use that instead of concat?

only
a

【在 m*********y 的大作中提到】
: + is concatenation ; we use that a lot to find out and furthuer more, to
: remove duplicate record. But, first thing first, how do you define your
: duplicate is up to you.
: you can use the Plus sign to concatenate string together...
: Usually a table contains many, if not thousands of same first name, so, only
: the same firstname&lastname&address combination together truly counts as a
: duplicate.. it depends on how you define *duplicate* in your own table..

avatar
s*n
46
拿个MTV 很感人.
谢谢分享. @[email protected]

【在 h****c 的大作中提到】
: 竟然是沙发
avatar
r*l
47
En. If finding duplicate is a business need, then the application side can calculate the hash.
Otherwise, I bet Oracle has some hash functions.

【在 a9 的大作中提到】
: 这个执行起来估计很慢。
: 记得前阵子有人发了个hash的函数还是啥来着,有谁还记得?

avatar
v*8
48
来了
avatar
m*y
49
How to add a hash? I used the Checksum function, but I heard that HashType
is more powerful than Checksum. Anyway, let's say you want hash on the the
combination of first name, last name and address, you can do this:
Alter table person
Add hash as checksum(firstname,lastname,address)
After you created hash, searching for duplicate record is much easier, you
just need to run below query:
select hash,count(*) from person group by hash having count(*)>1
avatar
j*3
50
re
avatar
B*g
51
比如你有100cloumn,而且有些column size很大。如果你每一个新的record都和旧的
record比较所有的cloumn,速度会很慢,而且一般没有有效的index可用。
我认为hash的意思是,每一个record生成一个hash value存在一个column(with index
),然后每一新的record都先比较一下hash,这个应该很快。hash不一样的record肯定
不一样。hash一样的在比较一下每个column看一下是否真的一样(这部分的很小了)
具体问题请问zenny,不过她可不便宜。

【在 m*********y 的大作中提到】
: How to add a hash? I used the Checksum function, but I heard that HashType
: is more powerful than Checksum. Anyway, let's say you want hash on the the
: combination of first name, last name and address, you can do this:
: Alter table person
: Add hash as checksum(firstname,lastname,address)
: After you created hash, searching for duplicate record is much easier, you
: just need to run below query:
: select hash,count(*) from person group by hash having count(*)>1

avatar
p*n
52
也等不及了,,吃
avatar
s*o
53
记得以前在stackoverflow上答过,在sql servers 上用 row number 和 partiton by
avatar
h*c
54
:)

【在 s**********n 的大作中提到】
: 拿个MTV 很感人.
: 谢谢分享. @[email protected]

avatar
i*9
55
modify the sql to suit your need.
delete from $table_name where rowid in
(
select "rowid" from
(select "rowid", rank_n from
(select rank() over (partition by $primary_key order by rowid) rank
_n, rowid as "rowid"
from $table_name
where $primary_key in
(select $primary_key from $table_name
group by $all_columns
having count(*) > 1
)
)
)
where rank_n > 1
)

【在 c**********e 的大作中提到】
: 如果不重复的记录就不要了。只要出现过两次或者两次以上的记录。每个重复记录只要
: 一次就行了。

avatar
P*a
56
re

【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
L*4
57
这个可以
但是会影响效率吧
如果是程式调用
是不是该尽量避免这样的语句呢

【在 m*********y 的大作中提到】
: Let's say you have first name, last name, and address in one table.
: Here duplicate means same firstname&lastname&address combination, for
: instance:
: John|Doe|123 Main st|...|...
: John|Doe|123 Main st|...|...
: Mike|Smith|567 Springfield ave|...|...
: to find duplicate, do this:
: select * from dbo.person where firstname+lastname+address
: in (select firstname+lastname+address from dbo.person
: group by firstname+lastname+address having count(*)>1)

avatar
m*n
58
re

【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
i*e
59
还有马??

【在 d********8 的大作中提到】
: 我发包子的瘾又犯了
: 热吧

avatar
w*r
60
chi

【在 v***a 的大作中提到】
: 热
avatar
A*e
61
re

【在 w****r 的大作中提到】
: chi
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。