tsql - 重复删除

标签 tsql sql-server-2008 duplicate-removal

<分区>

Possible Duplicate:
Delete duplicate records from a SQL table without a primary key

我有数据:

SELECT
          a
        , b
    FROM 
    (
        select a = 1, b = 30
        union all 
        select a = 2, b = 50
        union all 
        select a = 3, b = 50
        union all 
        select a = 4, b = 50
        union all 
        select a = 5, b = 60
    ) t

我必须得到输出(下一步(按a排序)重复记录应该从结果集中排除):

a           b
----------- -----------
1           30
2           50
3           50  -- should be excluded
4           50  -- should be excluded
5           60

最佳答案

SELECT
          min(a) as a
        , b
    FROM 
    (
        select a = 1, b = 30
        union all 
        select a = 2, b = 50
        union all 
        select a = 3, b = 50
        union all 
        select a = 4, b = 50
        union all 
        select a = 5, b = 60
    ) t
GROUP BY b    
ORDER BY a

关于tsql - 重复删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7447675/

相关文章:

SQL Server - 将字符串添加到文本列(相当于 concat)

sql - 列出 SQL 中两个日期之间的所有工作日期

python - 在 Pandas DataFrame 中删除重复索引的最快方法

arrays - 如何将表转换为 Json 数组?

sql - 获取 DateTime 的 T-SQL 代码仅包含来自任何 DateTime 的月份和年份

sql - 识别数据库中的空白表并从另一个数据库中的另一个表插入数据

c# - 同时运行存储过程多次

sql-server - 如果 SQL Server CASE 值为 NULL,则不返回任何内容

mongodb - mongo 3在唯一索引上重复 - dropDups

php - 根据对象属性从数组中删除重复项?