SQL-取相应的值,其中MIN(日期)
我有一个数据集,其中包含给定仓库在给定日期的仓库位置、日期和库存水平 我如何构造一个SQL查询,最终得到一个不同位置的列表以及每个仓库最早的库存水平?我在想类似于 选择仓库标识(库存金额,其中最小值(日期)为真)作为库存 从库存表SQL-取相应的值,其中MIN(日期),sql,sql-server,Sql,Sql Server,我有一个数据集,其中包含给定仓库在给定日期的仓库位置、日期和库存水平 我如何构造一个SQL查询,最终得到一个不同位置的列表以及每个仓库最早的库存水平?我在想类似于 选择仓库标识(库存金额,其中最小值(日期)为真)作为库存 从库存表 按仓库id分组我喜欢使用带领带的行编号()和顶部(1)来进行以下操作: SELECT TOP (1) WITH TIES it.* FROM inventory_table it ORDER BY ROW_NUMBER() OVER (PARTITION BY war
按仓库id分组我喜欢使用带领带的
行编号()
和顶部(1)来进行以下操作:
SELECT TOP (1) WITH TIES it.*
FROM inventory_table it
ORDER BY ROW_NUMBER() OVER (PARTITION BY warehouse_id ORDER BY date DESC);
您还可以表示为:
select it.*
from inventory_table it
where it.date = (select max(it2.date)
from inventory_table it2
where it2.warehouse_id = it.warehouse_id
);
试试这样的
select warehouse_id,....
from inventory_table t1
inner join (
select warehouse_id, min(date) from inventory_table group py warehouse_id
) min
on t1.warehouse_id=min.warehouse_id
这对我很有用:
proc sql;
CREATE TABLE inventory_by_warehouse AS
SELECT
a.warehouse_id
,a.inventory_amt
FROM inventory_table as a
WHERE a.date =
(SELECT min(date)
FROM inventory_table
WHERE warehouse_id = a.warehouse_id);
quit;
从MyTable组中按WareHouseID选择WareHouseID,MIN(日期)
再简单不过了。谢谢!但我对实际的最短日期不太感兴趣…我需要最早日期的库存水平。使用date ASC上订购的行号,并按WareHouseID进行分区,然后使用WITH或子查询选择行号,即1,因为OP查找最早日期。这不应该是按日期订购的ASC吗?我喜欢这种查询方式(一般来说,不管Gordon怎么说)。这对通过proc SQL的SQL Server有效吗?我在运行它时遇到了问题。@tubaguy…如果您使用的是本机SQL,应该可以。