SQL在结果集中仅显示一次重复记录

时间:2011-06-21 03:12:20

标签: sql

在SQL中是否可以仅在结果中显示一次重复记录。

所以不是这个

         my@email.com | Some Unique Data | Unique Data

         my@email.com | Some Unique Data | Unique Data

         my@email.com | Some Unique Data | Unique Data

         my@email.com | Some Unique Data | Unique Data

我会得到这个

         my@email.com | Some Unique Data | Unique Data

                      | Some Unique Data | Unique Data

                      | Some Unique Data | Unique Data

3 个答案:

答案 0 :(得分:8)

您不应该使用SQL来执行演示任务。任何这样做的解决方案都会非常hacky并且需要游标/其他迭代方法。

几乎每个报表创作工具都有隐藏重复项的方法。

答案 1 :(得分:1)

只需你可以这样做 -

有很多选项或答案可供选择。 其中一个如下 -

select 
case 
when b.c_1 = 1 then 
b.col1
else
null
end col1,
b.col2 col2,
b.col3 col3
from
(
select distinct col1,col2,col3, rownum() over(partition by col1) c_1 from table_name
)b

现在假设/修改上述查询 -

table_name是表名 col1,col2和col3是表的列名。

只需根据您的表名和结构修改此查询,然后查看..

这将是您所需的解决方案。

答案 2 :(得分:0)

我知道这是一个老问题,但认为这可能对其他人有用。经过一段时间的研究后,有一个名为DISTINCT的关键字,它只会在查询中显示一次重复值。我正在使用查询在网页上的文本框中自动建议值,并且不希望它显示重复的名称,这对我有用:

  SELECT DISTINCT FIRSTNAME
  FROM TBLSTUDENTS
  WHERE FIRSTNAME LIKE '#ucase(arguments.search)#%'