Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 只显示一次相同值的SQL结果_Mysql_Sql_Formatting_Output - Fatal编程技术网

Mysql 只显示一次相同值的SQL结果

Mysql 只显示一次相同值的SQL结果,mysql,sql,formatting,output,Mysql,Sql,Formatting,Output,也许一个简单的问题,我只是没有找到答案。 我有一个类似MySQL的结果 Col1 | Col2 A | 1 A | 2 B | 1 我希望它输出以下内容: Col1 | Col2 A | 1 | 2 B | 1 我该怎么做?当使用GROUP BY时,他仍然在第一列中显示所有“A”,我只希望在第一次出现时显示一次 提前谢谢 您应该在应用程序中而不是在数据库中进行这种格式设置。为什么?您的结果实际上不是一个有效的表,因为第二行的定义取

也许一个简单的问题,我只是没有找到答案。 我有一个类似MySQL的结果

Col1 | Col2    
A    | 1    
A    | 2   
B    | 1
我希望它输出以下内容:

Col1 | Col2
A    | 1
     | 2
B    | 1
我该怎么做?当使用GROUP BY时,他仍然在第一列中显示所有“A”,我只希望在第一次出现时显示一次


提前谢谢

您应该在应用程序中而不是在数据库中进行这种格式设置。为什么?您的结果实际上不是一个有效的表,因为第二行的定义取决于第一行。在SQL表中,每一行都应该独立

但是,如果你小心的话,你可以这样做:

select (case when seqnum = 1 then col1 end) as col1, col2
from (select t.*,
             row_number() over (partition by col1 order by col2) as seqnum
      from t
     ) t
order by col1, seqnum;

要使其一致工作,重要的是外部
order by
seqnum
的定义相匹配使用
大小写
表达式且
不存在

select
  case when not exists (select 1 from tablename where col1 = t.col1 and col2 < t.col2) then t.col1 end col1,
  t.col2
from tablename t
order by t.col1, t.col2

这看起来不错-另一个解决方案也可能有效,但这一个我至少了解;)谢谢
| col1 | col2 |
| ---- | ---- |
| A    | 1    |
|      | 2    |
| B    | 1    |