现在,我正在使用ORDER BY Rand();从一个表中随机选择3行,正如网上所指出的那样,这种方法非常慢。我在一个只有30行的数据库上使用它,返回值需要很长时间。我找到的大多数其他解决方案只返回一行。返回多个随机行的最佳方式是什么?
$get_projects_query =
mysql_query(
"SELECT p_id FROM project_data WHERE p_featured='1' ORDER BY Rand() LIMIT 3"
) or die(mysql_error());
while($project_row
我不知道如何从下面的查询中选择前8行。我对SQL非常陌生。
SELECT TOP 100 PERCENT * FROM (
select TEXT, ID, Details
from tblTEXT
where (ID = 12 or ID = 13 or ID =15)
) X
order by newid()
该查询提供了31行随机行,但我希望选择前8行。
我用的是下面的,但它不起作用
select top 8
from
(
SELECT TOP 100 PERCENT * FROM (
select TEXT, ID, Details
from tblTEX
关于使用Top的问题。例如,我们有以下SQL语句:
SELECT TOP (5) WITH TIES orderid, orderdate, custid, empid
FROM Sales.Orders
ORDER BY orderdate DESC;
它首先按顺序排序返回行,然后选择顶部最多的五行。但是,该ORDER子句不是在SELECT子句之后发生的吗?这意味着,首先将随机返回前五阶,然后按顺序排序这五行?
以下哪两个SQL语句将返回所需的结果集(即有Status=0的10行和最高的StartTimes)?
两个语句总是返回相同的结果集 (StartTime是唯一的)吗?
SELECT *
FROM MyTable
WHERE Status=0
AND ROWNUM <= 10
ORDER BY StartTime DESC
SELECT *
FROM (
SELECT *
FROM MyTable
WHERE Status=0
ORDER BY StartTime DESC
)
WHERE ROWNUM <= 10
背景
我的DBA
使用Server,我有一个大约550万行的表,我想随机选择一组可能符合某些条件的120行。
这与和有关,但我的问题是,我希望能够为它播种,以便能够连续地随机选择相同的120行,然后如果使用不同的种子,就会得到不同的随机行集。
我可以在我的申请中这样做:
var rand = new Random(seed);
var allExamples = db.myTable.Where(/*some condition*/).ToList();
var subSet = db.myTable.Select(x => new { x, r = rand.NextDouble())
.Ord
每次我需要从表中随机获取10行,但是当我重复查询时,这些行永远不会重复。
目前我的查询是随机获取10行数据:
SELECT TOP 10 *
FROM tablename
ORDER BY NEWID()
但MSDN建议使用以下查询
SELECT TOp 10 * FROM Table1
WHERE (ABS(CAST(
(BINARY_CHECKSUM(*) *
RAND()) as int)) % 100) < 10
为了更好的性能。但是这个查询不会返回常量行。你能给我一些建议吗?
我有一个包含多个列的表TableA。我想更新TableA中的每一行,以便从TableB的前两列中随机选择每行的前两列。但是,我不能使用像这样的东西
update TableA
set col1 = (select top 1 col1 from TableB order by newid()),
col2 = (select top 1 col2 from TableB order by newid())
因为我需要TableB中的两列来自相同的随机选择行。如何编写查询以确保TableB中的两列来自同一行?
我想用Impala从表中随机抽取n行。我可以想出两种方法,即:
SELECT * FROM TABLE ORDER BY RANDOM() LIMIT <n>
或
SELECT * FROM TABLE TABLESAMPLE SYSTEM(1) limit <n>
在我的例子中,我将n设为10000,并从超过2000万行的表中进行抽样。如果我正确理解,第一个选项实际上为每一行创建了一个0到1之间的随机数,并通过这个随机数进行排序。第二个选项创建了许多不同的“桶”,然后随机抽取至少1%的数据(在实践中,这似乎总是比提供的百分比大得多)。在这两种情况下,我只选择了1000
从mysql随机抽取1000行(而不是重复行)的最佳方法是什么?
Now i use this
1. get all data(id row) in to array.
2. Random position of array 1000 position.
3. i will get 1000 row (not duplicate row)
但是,这个过程很慢,
你有简单的方法得到随机的1000行(不是重复行)吗?
是否可以使用csvwriter创建一个随机化的随机化器来对整个行进行随机化?我拥有的代码类似于以下代码:
for i in range(45):
count=count+1
writer.writerow((count,pattern))
其中模式是一个与计数相对应的数字。例如: when count=1 pattern=1;count=2 pattern=9;count=3 pattern=17,等等。我想要一种将行随机化的方法,以便正确的计数仍然与正确的模式相对应。任何帮助都是非常感谢的!
根据我目前的理解,PoW算法是保证在一个时间框架内只生成一定数量的块,并相应地调整难度。我是一个刚开始学习的人,我想了解这段代码的每一行,请帮我分析一下。
bytes32 public currentChallenge; // The coin starts with a challenge
uint public timeOfLastProof; // Variable to keep track of when rewards were given
第1行: currentChallen
我有一个由100行组成的表(名为mytbl -见下文)。在这个表中,我只想取前五行(假设用户按下“显示前五行”)
这是我尝试过的,但是警报给了我“空”。
var $updatedtable = $("#mytbl");
$updatedtable.empty();
for ( var i = 0; i < 5; i++ )
{
$updatedtable.append(document.getElementById("mytbl").rows.item(i).innerHTML)
}
alert($updatedtable);
$update