我在这里搜索了几种不同的方法来做到这一点,但不能完全让它发挥作用。基本上,我有一个表格,其中记录了添加到网站的图像。每个图像都放入此表中。我想从每个不同的已添加字段中获取前 5 张图像。
因此,该表可能如下所示:
ID File Folder Added
----------------------------------
13 13.jpg Event3 20130830
12 12.jpg Event3 20130830
11 11.jpg Event3 20130830
10 10.jpg Event3 20130830
9 9.jpg Event3 20130830
8 8.jpg Event2 20130701
7 7.jpg Event2 20130701
6 6.jpg Event2 20130701
5 5.jpg Event2 20130701
4 4.jpg Event1 20130615
3 3.jpg Event1 20130615
2 2.jpg Event1 20130615
1 1.jpg Event1 20130615
我希望回报是这样的:
ID File Folder Added
----------------------------------
13 13.jpg Event3 20130830
12 12.jpg Event3 20130830
8 8.jpg Event2 20130701
7 7.jpg Event2 20130701
4 4.jpg Event1 20130615
3 3.jpg Event1 20130615
因此,基本上获取最后 5 个不同“添加”日期的最后 5 个(按最高 ID 首先排序)图像(再次按“添加”字段为最近的图像排序)。谢谢!
编辑 - - - - - - - -
所以它更清楚了......我有一张桌子,里面有我上传到基于图片的网站的图片。对于网站的前面,我想要一个新闻简介,显示最近 5 个已上传图像的画廊,并显示每个画廊的 5 张图像。mysql 中的每张图片都有一个与图库相对应的上传日期(“已添加”),因为我一次只将图片上传到图库,并且 ID 号会随着添加的每张图片而自动增加(“ID”) . 当然还有很多其他领域,但这些是我正在尝试做的最重要的领域。
编辑#2 ----------
关于我的措辞有很多困惑,解释起来有点困难,但基本上我怎样才能从一个表中为 5 个不同的添加日期字段获取 5 个最高 ID 字段?
我相信它与此有关,但是当我运行它时它不起作用:
select TOP 5 * from (
select *,
row_no = row_number() over (partition by Added order by ID)
from AviationImages) d
where d.row_n <= 5