SQL Server &ASP.净,c#:从前20张图片中随机选择5张
本文关键字:20张 随机 5张 选择 从前 Server ASP SQL | 更新日期: 2023-09-27 18:15:42
我有一个小SQL问题。
我想在ID
最高的20行中随机选择5行。我怎么做呢?现在我的SqlDataSource
看起来像这样:
<asp:SqlDataSource ID="SqlDataSource25" runat="server"
ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:DatabaseConnectionString1.ProviderName %>"
SelectCommand="SELECT TOP 5 * FROM [billeder] ORDER BY newid()">
</asp:SqlDataSource>
这意味着我当然只是从整个表中随机得到5个。
我更愿意通过SqlDataSource
来做,正如你在这里看到的,但如果它只能通过代码隐藏来实现,那也很好。
您需要使用子查询按ID获取前20名,然后从这20名中选择前5名:
SELECT TOP 5 *
FROM ( SELECT TOP 20 *
FROM [billeder]
ORDER BY ID DESC
) AS t
ORDER BY NEWID();
select * from [billeder] where [yourPk] in
(select top 5 percent [yourPk] from [billeder] order by newid())
yourPk is primarykey