
pcmonkey
访问次数:38606 次
联系站长:
联系站长:
原创:21 篇转载:21 篇相片:21 张评论:21 条

我们知道,使用SQL语句读取数据库中的记录时,一般都指定了一个排序方法(使用order by)语句,例如这句SQL语句:
select * from [table] order by id desc
这句语句就是指定用ID字段的降序来读取数据库记录。可有时我们想用随机的顺序把记录读出来,那应该怎么办?这个问题也一直困扰了我很久,直到前不久我才知道了一个新的ASP函数:newid()。这个函数本身的作用貌似不仅仅是本文所述的用途,不过上述的问题却可以很容易解决了,例如我们要从数据库中随机读取10条记录,就使用这个语句:
select top 10 * from [table] order by newid()
如此一来,记录的读取顺序就是随机的了。
--------------------------------------------------------------------------------
另外,如果我们要对一个数组按照随机的顺序读取,可以使用下面这段简洁的代码:
需要注意的是,数组中的最后一组数据永远会被排在最后。在上面的例子中,我们为numbers变量赋值数组时,特意在数组最后多加了一个“|”,这样程序会把最后一个“|”后面的空值作为数组的最后一个,这样7就不会永远排在最后一个了。大家使用这个函数时需要注意。