
4个回答
展开全部
没弄明白怎么不对,,,你具体要什么
测试数据如下
CREATE TABLE test(a VARCHAR(10),b VARCHAR(10),c int)
INSERT INTO dbo.test
( a, b, c )
SELECT 'A',1,1
UNION ALL
SELECT 'A',2,2
UNION ALL
SELECT 'A',2,3
UNION ALL
SELECT 'B',1,1
UNION ALL
SELECT 'B',1,2
UNION ALL
SELECT 'c',1,2
UNION ALL
SELECT 'd',1,2
UNION all
SELECT 'd',1,3
SELECT a,MIN(c)
FROM dbo.test
GROUP BY a
结果:
A 1
B 1
c 2
d 2
having MIN(c)=2
结果:
c 2
d 2
展开全部
select 医院,min(开展时间) from 表名 group by 医院
追问
这样是不对的,如果我再此基础上 再having min(开展时间)=2 的医院,那么,就会4条记录 ,而实际的结果其实是2条
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-10
展开全部
select 医院,min(展开时间) from tablename group by 医院
追问
这样是不对的,如果我再此基础上 再having min(开展时间)=2 的医院,那么,就会4条记录 ,而实际的结果其实是2条
追答
DECLARE @table TABLE
(
医院 VARCHAR(20),
医生 VARCHAR(20),
开展时间 VARCHAR(20)
)
INSERT INTO @table
SELECT 'a','张三' ,'1' UNION ALL
SELECT 'a','李四' ,'2' UNION ALL
SELECT 'a','王二' ,'3' UNION ALL
SELECT 'b','赵武','1' UNION ALL
SELECT 'b','刘柳','2' UNION ALL
SELECT 'c','赵洪','2' UNION ALL
SELECT 'd','于丽','2' UNION ALL
SELECT 'd','李红','3'
select 医院,min(开展时间) 开展时间 from @table group by 医院
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先用order by排序,然后前面加上top 1
追问
请教前辈具体应该如何写,
这个需求相当于 医院的开展时间是以最小那个时间为基准的,
追答
select top 1 * from 表名 where 医院 =‘A’ order by 开展日期
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询