sql不显示反复列
在报表里,基本上都能够把反复的资料不显示,在SQL里怎么才干做到例如以下情况呢?
a 10
a 20
b 30
b 40
b 50
显示为:
a 10
20
b 30
40
50
SQL 例如以下:
create table #a (part varchar(10),price int)
go insert into #a values('a',10)
insert into #a values('a',20) insert into #a values('b',30)
insert into #a values('b',40)
insert into #a values('b',50) go select * from #a go select part ,MIN(price) price into #b from #a group by part
go select * from #a
select * from #b
go select
case when price in (select price from #b) then part else '' end ,price
from #a
go
參考: http://bbs.csdn.net/topics/310112824
主要内容:
方案一:
if object_id('[tab]') is not null drop table [tab]
create table [tab]([单位] varchar(6),[姓名] varchar(4),[学历] varchar(4))
insert [tab]
select '一车间','张三','本科' union all
select '一车间','李四','本科' union all
select '一车间','王五','本科' union all
select '二车间','王中','专科' union all
select '二车间','刘一','专科' select 单位,姓名,学历 from
(
select 单位,姓名=(select top 1 姓名 from tab where ta.单位=单位 and ta.学历=学历),学历,s1=0,s2=单位,s3=0 from tab ta group by 单位,学历 union all
select ' ' ,姓名,'',s1=0,s2=单位,s3=1 from tab tb where 姓名<>(select top 1 姓名 from tab where tb.单位=单位 and tb.学历=学历)
)t
order by s1,s2,s3 /*
单位 姓名 学历
------ ---- ----
二车间 王中 专科
刘一
一车间 张三 本科
李四
王五 (所影响的行数为 5 行) */
方案二:
select 姓名 into #temp from (
select [单位],max(姓名)as 姓名 from [tab]
group by [单位]
)T select case when 姓名 in (select * from #temp ) then [单位] else '' end,
姓名,
case when 姓名 in (select * from #temp ) then [学历] else '' end
from [tab]
sql不显示反复列的更多相关文章
- SQL复制远程数据库数据到本地-及查询结果少显示一列
网上找了查询结果怎么少显示一列,因为数据很多列,结果不是视图就是嵌套,太麻烦,这里用临时表做 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB', '19 ...
- Devexpress datagrid动态添加显示指定列的gridView
代码如下: public class DXGridControlHelper { /// <summary> /// 获取显示指定列的GridView /// </summary&g ...
- SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF
原文:SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF 本来用 Writer 写一篇关于一列多行合并的博客来的,结果快写完了时候,在一个插入代码时候,崩了,重新打开,居然 ...
- SQL中进行转列的几种方式
SQL中进行转列 在很多笔试的程序员中会有很多写SQL的情况,其中很多时候会考察行转列.那么这个时候如果能写出来几种行转列的SQL,会给面试官留下比较好的印象. 以下是这次sql转换的表结构以及数据 ...
- mysql数据库导出模型到powerdesigner,PDM图形窗口中显示数据列的中文注释
1,mysql数据库导出模型到powerdesigner 2,CRL+Shift+X 3,复制以下内容,执行 '******************************************** ...
- Easyui datagrid 显示隐藏列
html: <div style="float: left; width: 1450px; height:auto; "> & ...
- pentaho cde 选择性的显示多列数据
在业务需求中,有时候会有这种需要,就是查出来可多列数据,而我只想画出来其中的一列或者说某一列,而pentaho会默认画出查出来的所有数据,而不断的更改数据源又太麻烦,这时就要用到resders方法了. ...
- [转]java.sql.SQLException: 无效的列索引
原文地址:http://blog.sina.com.cn/s/blog_6bc811e401011a17.html java.sql.SQLException: 无效的列索引 “无效的列索引”其实是个 ...
- java.sql.SQLException: 无效的列索引
java.sql.SQLException: 无效的列索引 "无效的列索引"其实是个低级的错误,原因无非几个: 1.sql串的?号数目和提供的变量数目不一致: 例如:jdbcTem ...
随机推荐
- MyEclipse设置默认注释的格式
首先选菜单windows-->preferenceJava-->Code Style-->Code Templates code-->new Java files 然后选中点编 ...
- 深度讲解智能硬件手机APP开发流程
常州做APP开发公司紫竹云科技分析,智能硬件产品的软件开发,除了APP和后台之外还有一个固件端的开发,由于固件是要运行产品上的,不过此时的硬件也是刚开始进行研发,所以是无法提供硬件来运行固件的.因此在 ...
- map 和 for
一.map 函数封装. ; [,,,,,,,].map(function(elem){ sum += elem; }) console.log('sum='+sum); 二.平时用for的写法. ,, ...
- 【从零开始】【Java】【2】项目最开始都有什么鬼
闲聊 刨其根知其底. 让我们从一开始就慢嚼细咽. 开始 先来看下项目都有什么: 项目结构图 pom文件图 项目结构 项目=核心代码+依赖管理文件+说明文件+IDE配套文件+外部依赖包: 核心代码:sr ...
- 利用chrome浏览器断电调试确定函数触发的位置
比如某天遇到这样一个问题,页面有一个按钮,上面绑定了事件可能是多个事件,然后我们点击后出现了bug,我们要如何快速定位到这个事件,如果页面只有一个js或少量的js,我们一个打开查找,也可以接受.但是如 ...
- C语言break/continue/exit/return的功能区别
break是跳出整个循环而执行循环体之外的下一条语句: continue只是跳出本次循环继续判断下一次循环条件是否满足. exit() 结束当前进程/当前程式/,在整个程式中,只要调用 exit ,就 ...
- layer弹出框的用法
页面中引入 layer.js 就行了 1.弹出一个提示信息: layer.msg("我是哦提示信息"); 2.弹出一个带选择的按钮的框 layer.open({ title: ' ...
- 团体程序设计天梯赛-练习集-L1-027. 出租
L1-027. 出租 下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破.其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,i ...
- URLLib库使用
Date: 2019-06-19 Author: Sun urllib 在Python 3以后的版本中,urllib2这个模块已经不单独存在(也就是说当你import urllib2时,系统提示你 ...
- mysql进阶练习
一 . MySQL进阶练习 /*==========================创建班级表=============================*/ CREATE TABLE class ( ...