userid email_address login_name name Title org phone_number_com
============= ========================== =============== ================== ========== ============= ===================
1192 [email protected] sjobs Steve Jobs CEO Apple N/A
1274 [email protected] sjobs Steve Jobs CFO Apple 697-4686
1192 [email protected] sjobs Steven jobs CEO Apple 604-7126
1885 [email protected] bgates Bill Gates CEO Microsoft 604-7114
1920 [email protected] bgates William Gates CTR Microsoft 604-7247
1951 [email protected] wbuffet Warren Buffet CEO HP 614-9141
1954 [email protected] wbuffet W. Buffet COO HP 614-7589
1951 [email protected] wbuffet Warren S Buffet CIO Xerox 614-8874
1956 [email protected] mzuck Mark Zuckerberg CEO FB 614-8295
QUERY
SELECT *
FROM
(
SELECT userid, name, login_name, email_address, phone_number_com,
ROW_NUMBER() OVER(PARTITION BY [login_name] ORDER BY login_name) Num_Duplicates
FROM web_user
) as Rows
WHERE Num_Duplicates > 1
这是我的第一篇文章,希望我下面所有的程序。我得到一个结果集,它显示了重复的第2和第3行。我试图GROUP BY
login_name
并只显示最高的行Num_Duplicates
。如果一个login_name
有一个Num_Duplicates
的2和3,只显示行3.我希望这是有道理的!预先感谢您提供的任何指导。
这些都是结果,我想输出查询:
userid | email_address | login_name | name | Title | org phone_number_com | Num_Duplicates
1192 | [email protected] | sjobs | Steve Jobs | CEO | Apple | N/A | 3
1885 | [email protected] | bgates | Bill Gates | CEO | Microsoft | 604-7114 | 2
1951 | [email protected] | wbuffet | Warren Buffet | CEO | HP | 614-9149 | 3
你为什么需要行号? – serakfalcon 2015-02-06 18:08:37
你会添加你想要的结果吗? – RezaRahmati 2015-02-06 18:11:55
为什么只显示第三个?您正在按login_name进行分组和排序,这意味着每个组内的顺序是任意的,并且每次执行时都会有所不同。所以1,2,3 ..他们都是一样的。为什么只显示3?为什么不只显示2或只显示1? – 2015-02-06 18:16:44