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






4.77/5 (23投票s)
2005年3月2日

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);
就这样了。 非常简单,非常有效。