65.9K
CodeProject 正在变化。 阅读更多。
Home

如何从 SQL 表中进行随机选择

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.77/5 (23投票s)

2005年3月2日

viewsIcon

118905

一种从 SQL 表中随机选择记录的简单技术。

引言

这是我遇到的最简单的解决方案之一,解决了一个难题。 如果你像我一样,曾经需要从 SQL 服务器中随机选择一定数量的数据库记录(例如,用于横幅广告或特别优惠选择),那么这是一个简单的解决方案。

解决方案

好的。 所以你在 SQL 数据库中有一个记录表。 让我们将该表命名为“tbl_offers”作为本示例。 在 SQL 中,你可以使用函数“NewID()”为任何你选择的记录分配一个新的 ID 值。 这意味着如果你按此随机生成的 ID 字段对记录进行排序,然后选择前五个或十个记录,那么每次你都会得到不同的结果集。

代码

请注意,我编写以下代码只是为了演示 SQL 的使用,因此使其尽可能简单。

//This table can subsequently be used as a datasource
DataTable tbl_offers = new DataTable();

SqlConnection conn_offers = new SqlConnection(
    "Insert your DB Connection string here"
    );
SqlDataAdapter da_offers = new SqlDataAdapter(
     "SELECT Top 5 * FROM tbl_offers ORDER BY NewID()", 
      conn
    );
da_offers.Fill(tbl_offers);

就这样了。 非常简单,非常有效。

© . All rights reserved.