Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL从日期字段中选择顶部日期_Sql_Sql Server_Tsql - Fatal编程技术网

SQL从日期字段中选择顶部日期

SQL从日期字段中选择顶部日期,sql,sql-server,tsql,Sql,Sql Server,Tsql,所以我有一个带有日期列的表。我希望能够按某种类型的项目字段对这些日期进行分组。例如,我可能有一个名为Item的列,在Item字段中可能有500个条目。项目12345可能有5个实体,每个实体都有一个价格。我希望能够取出所有项目,按最新日期分组 031126-2M1 8/10/2011 12:00:00 AM 7.8678 031126-2M1 7/22/2011 12:00:00 AM 9.

所以我有一个带有日期列的表。我希望能够按某种类型的项目字段对这些日期进行分组。例如,我可能有一个名为Item的列,在Item字段中可能有500个条目。项目12345可能有5个实体,每个实体都有一个价格。我希望能够取出所有项目,按最新日期分组

031126-2M1                          8/10/2011 12:00:00 AM   7.8678
031126-2M1                          7/22/2011 12:00:00 AM   9.5620
031126-2M1                          7/15/2011 12:00:00 AM   8.8090
在本例中,我想显示最接近日期为2011年7月15日的商品,以便使用8.8090的价格。然后列表将显示其他项目,一些可能有一个条目,其他可能有许多条目,但我想显示所有这些条目以及壁橱日期。需要帮助

谢谢

从表中选择* 这里=那里 把有这个的东西分组。 按日期说明订购

这应该在查询本身中实现

希望这有帮助


干杯

MS SQL Server版本

WITH
  sorted_data AS
(
  SELECT
    ROW_NUMBER() OVER (PARTITION BY item_id ORDER BY item_date DESC) AS row_id,
    *
  FROM
    item_data
  WHERE
    item_date <= getDate()
)

SELECT * FROM sorted_data WHERE row_id = 1

这似乎是我迄今为止看到的最不确定的答案之一。请你稍微扩展一下好吗?我在任何风格复兴之前回答了这个问题,那一刻对我来说是最优雅的回答。。顺便说一句,我忍不住要用一行字来表示所有内容。@gabrielVa:别再做混蛋了&用数据库来标记你的问题。你已经被问过很多次了,你的接受率表明你参与了。这是我最后一次向那些想帮助你的人表示礼貌。