如何删除重复的列条目?

时间:2015-09-07 09:32:04

标签: sql sql-server

我有一个包含2列的表格,如下所示:

    var manualSort = days.sort(function(a, b) {
        return moment(new Date(a.start)).format() > moment(new Date(b.start)).format();
    });

    var underScoreSort = _.sortBy(days, function(a) {
        return moment(new Date(a.start)).format();
    });

我是通过使用city_name car_name Gurgaon Alto Gurgaon Mercedez Benz Gurgaon Swift Dzire New Delhi Alto New Delhi Etios New Delhi Mercedez Benz New Delhi Swift Dzire 标记运行查询来实现的,但我的任务是显示一个包含非重复条目的表。即我想显示这样的表:

group by

我正在使用Microsoft SQL Server Management Studio 2014

3 个答案:

答案 0 :(得分:2)

这应该在前端/报告工具中完成,而不是使用sql。如果您没有选择,请尝试此

select case when sno=1 then city_name else '' end as city_name,car_name from
(
select row_number() over (partition by city_name order by car_name) as sno, * from table
) as t

答案 1 :(得分:0)

select city_name, (SELECT  [car_name]+','
    FROM [myTable] AS [t1]
    WHERE t1.[city_name] = t2.[city_name]
    FOR XML PATH('') ) AS cars
    FROM [MyTable] AS [t2]
GROUP BY [t2].[city_name]

您可以使用显示媒体中的换行符替换(或任何其他可能使用的字符串)。

答案 2 :(得分:0)

您可以使用以下代码:

;with CTE as
(
select row_number() over (partition by city_name order by car_name) as rn, * from table
)

Update CTE
set city_name=' '
where rn > 1

您可以在此处更新同一个表格。无需创建临时表/中间表。