同时查询出最大值与最小值
来源:互联网 发布:4g网络优化先培训骗局 编辑:程序博客网 时间:2024/06/08 06:47
有个题目针对SQL Server 自带的Northwind数据库提出的,如下:
--->查询表Products中库存量最大和最小的商品信息(商品编号,商品名,库存量)。
Products表结构如下:
CREATE TABLE [dbo].[Products](
[ProductID] [int] IDENTITY(1,1) NOT NULL,
[ProductName] [nvarchar](40) NOT NULL,
[SupplierID] [int] NULL,
[CategoryID] [int] NULL,
[QuantityPerUnit] [nvarchar](20) NULL,
[UnitPrice] [money] NULL,
[UnitsInStock] [smallint] NULL,
[UnitsOnOrder] [smallint] NULL,
[ReorderLevel] [smallint] NULL,
[Discontinued] [bit] NOT NULL,
考虑这样一个问题,库存量最大的商品或者库存量最小的商品都不止一个,同时取出它们信息,怎么取呢?之前参考(http://database.51cto.com/art/201009/227730.htm)这里的代码,后来经过一哥们提醒,才发现居然给蒙了。好好的union + max + min方法不用,反而去创建几个临时表。妹夫的,看来哥我还真是嫩的。
好,解题代码如下:
select [ProductID] ,[ProductName],[UnitsInStock] from [Products] p where p.[UnitsInStock] = ( select max( [UnitsInStock] ) from [Products] p1)union allselect [ProductID] ,[ProductName],[UnitsInStock] from [Products] p where p.[UnitsInStock] = ( select min( [UnitsInStock] ) from [Products] p2)
执行结果(我事先多加了一条最大库存量的记录):
PS:并且上面使用union all而不union还是有原因的。
union 需要去除重复项记录,而union all直接结合两个数据表,所以union all 的效率是要比union要高得多的。
union all 与union 的区别详情自己去找找。
- 同时查询出最大值与最小值
- 同时求数列的最大值与最小值
- mysql 数据查询出排序中的最大值和最小值
- 同时找出最小值和最大值
- 同时找出最大值和最小值
- 同时查找最大值和最小值
- 同时找到最大值和最小值
- mysql最大值,最小值,总和查询与计数查询
- 求最大值与最小值
- 找最大值与最小值
- 最大值与最小值
- 最大值与最小值比较
- 数组最大值与最小值
- 最大值与最小值问题
- 同时获取数组中的最大值和最小值
- 【算法导论】同时找出最大值和最小值
- 同时找出在数组中的最大值、最小值
- 同时找出数组的最大值和最小值
- 如何减小与“大牛”的差距
- textarea 控制输入字符字节数
- 问题服务器防火墙的选择
- 使用COS组件实现文件上传 .
- DEM
- 同时查询出最大值与最小值
- 范数
- 提交’时提示ip被记录 防注入系统的利用。
- java synchonized关键字详解
- 配置Office在IIS中实现预览功能
- C++primer pe13_15(还有13——4、9、12中NoName类的指针疑惑)
- HRESULT返回值说明
- android 横竖屏切换生命周期详解
- CAS通过用户名与ip限制密码输入错误次数