在标准化数据的同时获取DISTINCT公司信息

时间:2019-02-23 23:40:14

标签: sql-server tsql

我正在规范我在平面文件中获得的一些数据,其中公司和联系信息混合在一起,如下所示:

company_id | company_name | person_id | first_name | last_name | sic_code
123 | "Acme, Inc." | 111 | "John" | "Smith" | 54789
123 | "Acme, Inc." | 222 | "Jane" | "Doe" | 54789
234 | "Global, LLC" | 333 | "James" | "Brown" | 94574

因此,我希望我的SQL语句返回如下所示的唯一公司信息:

123 | "Acme, Inc." | 54789
234 | "Global, LLC" | 94574

我尝试了以下操作,但仍然得到重复的数据。例如,Acme,Inc.仍然出现多次。

SELECT DISTINCT company_id, company_name, sic_code
FROM MyTable
ORDER By company_id

如何不仅获得DISTINCT公司ID,还获得所有唯一公司的扩展数据?

1 个答案:

答案 0 :(得分:0)

这将起作用:

select company_id, company_name, sic_code from (
    select 
      company_id,
      company_name,
      sic_code,
      row_number() over (partition by company_id order by company_id) rn
    from tbl
) t
where rn = 1