z**********8 发帖数: 2049 | 1 如果要在一个table里面,寻找和列出,姓名相同的records,
PERSONID, FIRSTNAME, LASTNAME, EMAIL
使用self join? 急求?
我只能找出哪些名字是有duplication,但是不知道如何LIST THE
SE RECORDS WITH ITS OWN EMAIL AND PERS
ONID RESPETIVELY.
xiexie |
s**********o 发帖数: 14359 | 2 GROUP BY PERSONID, FIRSTNAME, LASTNAME, EMAIL
HAVING COUNT(*)>1 |
d****n 发帖数: 12461 | 3 你这是找出哪些名字有重的,不是找出记录。
【在 s**********o 的大作中提到】 : GROUP BY PERSONID, FIRSTNAME, LASTNAME, EMAIL : HAVING COUNT(*)>1
|
d****n 发帖数: 12461 | 4 select
PERSONID, FIRSTNAME, LASTNAME, EMAIL
from t_personel
where
(FIRSTNAME, LASTNAME)
in
(select FIRSTNAME, LASTNAME
from t_personel
group by FIRSTNAME, LASTNAME
having count(1)>1)
【在 z**********8 的大作中提到】 : 如果要在一个table里面,寻找和列出,姓名相同的records, : PERSONID, FIRSTNAME, LASTNAME, EMAIL : 使用self join? 急求? : 我只能找出哪些名字是有duplication,但是不知道如何LIST THE : SE RECORDS WITH ITS OWN EMAIL AND PERS : ONID RESPETIVELY. : xiexie
|
s**********o 发帖数: 14359 | 5 你这个还弄个SUBQUERY,太麻烦了, ROW_NUMBER PARTITION BY啦
【在 d****n 的大作中提到】 : select : PERSONID, FIRSTNAME, LASTNAME, EMAIL : from t_personel : where : (FIRSTNAME, LASTNAME) : in : (select FIRSTNAME, LASTNAME : from t_personel : group by FIRSTNAME, LASTNAME : having count(1)>1)
|
B*****g 发帖数: 34098 | 6 现在mysql是gds,selfjoin一招走遍天下
【在 s**********o 的大作中提到】 : 你这个还弄个SUBQUERY,太麻烦了, ROW_NUMBER PARTITION BY啦
|
c*****d 发帖数: 6045 | 7 太同意了
SQL考来考去就是self join,出题的人太没有新意了
【在 B*****g 的大作中提到】 : 现在mysql是gds,selfjoin一招走遍天下
|
d***e 发帖数: 793 | |
s**********o 发帖数: 14359 | 9 面试就是看看水平了,我要问这种问题,如果你答出GROUP BY HAVING,水平是个MEDIUM了
你要是能达出PARTITION BY,这个水平就还是可以的了,要求不能太高了 |
d****n 发帖数: 12461 | 10 谁给看个execution plan
partition by有sort吧,会不会贵一点?
【在 s**********o 的大作中提到】 : 你这个还弄个SUBQUERY,太麻烦了, ROW_NUMBER PARTITION BY啦
|
|
|
B*****g 发帖数: 34098 | 11 这个比 aggregate 快一些
【在 d****n 的大作中提到】 : 谁给看个execution plan : partition by有sort吧,会不会贵一点?
|
B*****g 发帖数: 34098 | 12 本来也没啥可考的,让谁当场写recursive CTE都够呛能写对
【在 c*****d 的大作中提到】 : 太同意了 : SQL考来考去就是self join,出题的人太没有新意了
|
d***e 发帖数: 793 | |
z**********8 发帖数: 2049 | 14 我这个不是考试题阿。是我工作的一部分。
我们有个table, 我们称为 contacts, 主要是各类events和visiting,collect来的
information,同时我们因为有不少reports,供references,download,但是他们必须先
register. 所以,就不可避免地出现了duplication,需要定期清理。我今天一查,竟然
有大约8000余个duplicators,涉及16000余records. 当然其实,大多数不是真地
duplication,呵呵。比如我们有15个david smith。结果发现,一个duplication都不存
在,看上去,没有明显证据。真实的干活,跟课堂真实不一样。我只能半手工,半自动
,写一些codes,来处理这些数据,而且还要定期清理,呵呵。时间就一天天过去了。 |
z**********8 发帖数: 2049 | 15 我们目前大约11万左右的records, 如果110万,或者更多,不知道大家是如何清理这些
duplication的。基本思路有哪些。 |
B*****g 发帖数: 34098 | 16 高大上
【在 d***e 的大作中提到】 : again, what is gds?
|
B*****g 发帖数: 34098 | 17 unique index,duplicate的东西根本不让进数据库
【在 z**********8 的大作中提到】 : 我们目前大约11万左右的records, 如果110万,或者更多,不知道大家是如何清理这些 : duplication的。基本思路有哪些。
|
c*****d 发帖数: 6045 | 18 如果业务程序没有检查,数据库里面的unique index没啥用
比如 BEIJING, BEI JING, JING BEI, BEI/JING, BeiJing
【在 B*****g 的大作中提到】 : unique index,duplicate的东西根本不让进数据库
|
c*****d 发帖数: 6045 | 19 flg都期望你先回答partition by
然后问如果没有analysis function怎么办
这时候才很nb的用self join
流程不能错了
就像演员念台词一样,不能把后面的台词先说了,哈哈
MEDIUM了
【在 s**********o 的大作中提到】 : 面试就是看看水平了,我要问这种问题,如果你答出GROUP BY HAVING,水平是个MEDIUM了 : 你要是能达出PARTITION BY,这个水平就还是可以的了,要求不能太高了
|
d***e 发帖数: 793 | 20 具体点?
【在 B*****g 的大作中提到】 : 高大上
|
B*****g 发帖数: 34098 | 21 BEIJING, BEI JING, JING BEI, BEI/JING, BeiJing这些都是不同的,除非有要求它们
是相同的
【在 c*****d 的大作中提到】 : 如果业务程序没有检查,数据库里面的unique index没啥用 : 比如 BEIJING, BEI JING, JING BEI, BEI/JING, BeiJing
|
B*****g 发帖数: 34098 | 22 高端大气上档次
【在 d***e 的大作中提到】 : 具体点?
|