sql – 选择DISTINCT,返回整行
发布时间:2020-05-28 18:20:11 所属栏目:MsSql 来源:互联网
导读:我有一个10列的表. 我想返回Col006不同的所有行,但返回所有列… 我怎样才能做到这一点? 如果第6列显示如下: | Column 6 || item1 | | item1 | | item2 | | item1 | 我想返回两行,其中一个记录包含item1,另一个记录包含item2,以及所有其他列. 在SQL Server 2
|
我有一个10列的表.
我怎样才能做到这一点? 如果第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() (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
