sql – 选择DISTINCT,返回整行
发布时间:2020-12-12 06:26:59 所属栏目:MsSql教程 来源:网络整理
导读:我有一个10列的表. 我想返回Col006不同的所有行,但返回所有列… 我怎样才能做到这一点? 如果第6列显示如下: | Column 6 || item1 | | item1 | | item2 | | item1 | 我想返回两行,其中一个记录包含item1,另一个记录包含item2,以及所有其他列. 解决方法 在SQL
我有一个10列的表.
我想返回Col006不同的所有行,但返回所有列… 我怎样才能做到这一点? 如果第6列显示如下: | Column 6 | | item1 | | item1 | | item2 | | item1 | 我想返回两行,其中一个记录包含item1,另一个记录包含item2,以及所有其他列. 解决方法在SQL Server 2005及更高版本中:;WITH q AS ( SELECT *,ROW_NUMBER() OVER (PARTITION BY col6 ORDER BY id) rn FROM mytable ) SELECT * FROM q WHERE rn = 1 在SQL Server 2000中,前提是您有一个主键列: SELECT mt.* FROM ( SELECT DISTINCT col6 FROM mytable ) mto JOIN mytable mt ON mt.id = ( SELECT TOP 1 id FROM mytable mti WHERE mti.col6 = mto.col6 -- ORDER BY -- id -- Uncomment the lines above if the order matters ) 更新: 检查数据库版本和兼容级别: SELECT @@VERSION SELECT COMPATIBILITY_LEVEL FROM sys.databases WHERE name = DB_NAME() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |