请问 在SQL中 怎样找出一列 数字的最大值, 和 最小值
例如 , table 中数据为
名称 序号 数值
A 1 100
A 2 200
A 3 300
我想得到的是: 最大值 A, 3, 300
最小值 A, 1, 100
改如何来写?
9 个解决方案
#1
select * from (select top 1 '最大值',* from 表 order by 数值 desc) a
union all
select * from (select top 1 '最小值',* from 表 order by 数值) a
union all
select * from (select top 1 '最小值',* from 表 order by 数值) a
#2
聚合函数
Microsoft SQL Server 2000 Analysis Services 提供下面的聚合函数以便在度量值中使用。
聚合函数 返回值
Sum 输入值之和。
Min 最小输入值。
Max 最大输入值。
Count 输入值的数目。
Distinct Count 不重复的输入值的数目。
Microsoft SQL Server 2000 Analysis Services 提供下面的聚合函数以便在度量值中使用。
聚合函数 返回值
Sum 输入值之和。
Min 最小输入值。
Max 最大输入值。
Count 输入值的数目。
Distinct Count 不重复的输入值的数目。
#3
select * from [table] where 数值=(select max(数值) from [table])or 数值=(select min(数值) from [table])
#4
1.
select * from 表 where 序号 =
(select max(a.序号) from 表 a where a.名称 = 名称)
union all
select * from 表 where 序号 =
(select min(a.序号) from 表 a where a.名称 = 名称)
2.
select top 1 * from 表 where 名称 = 'A'
order by 序号 desc
union all
select top 1 * from 表 where 名称 = 'A'
order by 序号 asc
select * from 表 where 序号 =
(select max(a.序号) from 表 a where a.名称 = 名称)
union all
select * from 表 where 序号 =
(select min(a.序号) from 表 a where a.名称 = 名称)
2.
select top 1 * from 表 where 名称 = 'A'
order by 序号 desc
union all
select top 1 * from 表 where 名称 = 'A'
order by 序号 asc
#5
select max(数值) 最大值 from 表名 order by 数值
select min(数值) 最小值 from 表名 order by 数值
select min(数值) 最小值 from 表名 order by 数值
#6
select * from (select top 1 '最大值' as 取值类别,* from 表 order by 数值 desc) a
union
select top 1 '最小值',* from 表 order by 数值
union
select top 1 '最小值',* from 表 order by 数值
#7
select * from (select top 1 * from table8 order by 数值 desc ) a
union all
select * from (select top 1 * from table8 order by 数值) b
union all
select * from (select top 1 * from table8 order by 数值) b
#8
select fld1,fld2,max(fld3) from tableA
union
select fld1,fld2,min(fld3) from tableA
union
select fld1,fld2,min(fld3) from tableA
#9
select fld1,fld2,max(fld3) as fld3 from tableA
union
select fld1,fld2,min(fld3) as fld3 from tableA
union
select fld1,fld2,min(fld3) as fld3 from tableA
#1
select * from (select top 1 '最大值',* from 表 order by 数值 desc) a
union all
select * from (select top 1 '最小值',* from 表 order by 数值) a
union all
select * from (select top 1 '最小值',* from 表 order by 数值) a
#2
聚合函数
Microsoft SQL Server 2000 Analysis Services 提供下面的聚合函数以便在度量值中使用。
聚合函数 返回值
Sum 输入值之和。
Min 最小输入值。
Max 最大输入值。
Count 输入值的数目。
Distinct Count 不重复的输入值的数目。
Microsoft SQL Server 2000 Analysis Services 提供下面的聚合函数以便在度量值中使用。
聚合函数 返回值
Sum 输入值之和。
Min 最小输入值。
Max 最大输入值。
Count 输入值的数目。
Distinct Count 不重复的输入值的数目。
#3
select * from [table] where 数值=(select max(数值) from [table])or 数值=(select min(数值) from [table])
#4
1.
select * from 表 where 序号 =
(select max(a.序号) from 表 a where a.名称 = 名称)
union all
select * from 表 where 序号 =
(select min(a.序号) from 表 a where a.名称 = 名称)
2.
select top 1 * from 表 where 名称 = 'A'
order by 序号 desc
union all
select top 1 * from 表 where 名称 = 'A'
order by 序号 asc
select * from 表 where 序号 =
(select max(a.序号) from 表 a where a.名称 = 名称)
union all
select * from 表 where 序号 =
(select min(a.序号) from 表 a where a.名称 = 名称)
2.
select top 1 * from 表 where 名称 = 'A'
order by 序号 desc
union all
select top 1 * from 表 where 名称 = 'A'
order by 序号 asc
#5
select max(数值) 最大值 from 表名 order by 数值
select min(数值) 最小值 from 表名 order by 数值
select min(数值) 最小值 from 表名 order by 数值
#6
select * from (select top 1 '最大值' as 取值类别,* from 表 order by 数值 desc) a
union
select top 1 '最小值',* from 表 order by 数值
union
select top 1 '最小值',* from 表 order by 数值
#7
select * from (select top 1 * from table8 order by 数值 desc ) a
union all
select * from (select top 1 * from table8 order by 数值) b
union all
select * from (select top 1 * from table8 order by 数值) b
#8
select fld1,fld2,max(fld3) from tableA
union
select fld1,fld2,min(fld3) from tableA
union
select fld1,fld2,min(fld3) from tableA
#9
select fld1,fld2,max(fld3) as fld3 from tableA
union
select fld1,fld2,min(fld3) as fld3 from tableA
union
select fld1,fld2,min(fld3) as fld3 from tableA