【急】sql 语句 如何查询某列值中的最小值?

表如下,我需要查出医院和开展时间,如下图... 表如下,我需要查出医院和开展时间,如下图 展开
 我来答
twvampire
2013-12-10 · TA获得超过3620个赞
知道大有可为答主
回答量:3029
采纳率:76%
帮助的人:3076万
展开全部

没弄明白怎么不对,,,你具体要什么

测试数据如下

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
情又独中
2013-12-10 · TA获得超过1032个赞
知道小有建树答主
回答量:1220
采纳率:100%
帮助的人:848万
展开全部
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 医院

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongmao1991
2013-12-10 · TA获得超过128个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:184万
展开全部
先用order by排序,然后前面加上top 1
追问
请教前辈具体应该如何写,
这个需求相当于 医院的开展时间是以最小那个时间为基准的,
追答
select top 1 * from 表名 where 医院 =‘A’ order by 开展日期
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式