我看到了docs for @orderBy,但我很好奇如何对灯塔GraphQL结果进行随机排序,有点像Laravel中的inRandomOrder $randomUser = DB::table('users')
->inRandomOrder()
->first(); 或者像MySQL中的RAND(): SELECT col1, col2
FROM mytable
ORDER BY RAND();
我有一个相当简单的SQL (MySQL):
SELECT foo FROM bar ORDER BY rank, RAND()
我注意到,当我刷新结果时,随机性令人怀疑地微弱。
在目前的样本数据中,有6个结果具有相等的秩(整数为零)。对于随机性有很多测试,但这里有一个简单的手工测试:当两次运行两次时,第一个结果应该是相同的,两次运行的结果应该是相同的六分之一。这种情况肯定不会发生,领先的结果至少有三分之一是一样的。
我想要排列的均匀分布。我不是一个专业的统计学家,但我很确定ORDER BY RAND()应该能做到这一点。我遗漏了什么?
使用MySQL,SELECT rand(), rand()
我正在尝试使用RAND()函数从mysql中检索随机行。但是在结果中,行被重复不止一次。有没有办法以这样的方式返回随机行,即一行只返回一次?
我的问题是:SELECT h.recid recid, h.name name, h.subtitle subtitle, h.pricingfrom pricingfrom FROM holydays h ORDER BY RAND()
我找到了解决方案,但我不明白它是如何工作的,因为我没有任何限制…任何答案都将不胜感激!
我看到了MySQL和非常高的UTF8代码点的奇怪行为。
几个示例( -> \u{1f48f}或\u{1f48e}或其他任何东西)
SELECT name, '', name = '', '' = '', name = '' from payees where id = 4178417368;
+------+------+-------------+-----------+-----------+
| name | | name = '' | '' = ''
请注意,我是一个初学者。
我有两个问题:
1)如何对查询结果随机排序?
查询示例:
$get_questions = mysql_query("SELECT * FROM item_bank_tb WHERE item_type=1 OR item_type=3 OR item_type=4");
2)从表中随机选择行的最佳方法。假设我想从一个表中随机抓取10行。
非常感谢,
这是在我的网站上排序搜索结果的一个问题,
进行搜索时,内容页上会出现随机结果,此页面也包含分页。用户跟随我的SQL查询。
SELECT * FROM table ORDER BY RAND() LIMIT 0,10;
所以我的问题是
我需要确保每次用户访问下一页时,他们已经看到的结果不再出现(在下一个查询中排除它们,以内存高效的方式,但仍然按rand()排序)。
每次访问第一页时,都会有不同的结果集,是否可以使用分页,或者排序总是随机的。
我可以在MYSQL中使用种子,但是我不知道如何实际使用它。
我想知道是否有人知道如何在MS上执行可重复的随机排序。
通过在随机函数上设置种子值,我在其他DB平台上实现了相同的目标:
MySQL/MariaDB: ORDER BY RAND(?);
Oracle: EXEC DBMS_RANDOM.SEED(?); ORDER BY DBMS_RANDOM.VALUE;
Postgres: SELECT SETSEED(?); ORDER BY RANDOM();
但是,我无法在Server上找到相应的内容。通过一些研究,我尝试了语法TABLESAMPLE(100 %)可重复性(Y)。但是TABLESAMPLE似乎没有按任何随机顺序返回行。
SQLFid
我很难将12个mysql查询减少到一个调用中。我需要按product_type_id以随机顺序对结果进行分组,然后将每组限制为7:
SELECT * FROM products WHERE product_type_id=1 AND deleted='n' ORDER BY RAND() LIMIT 7;
SELECT * FROM products WHERE product_type_id=2 AND deleted='n' ORDER BY RAND() LIMIT 7;
...
SELECT * FROM products WHERE product_t
我再次遇到了选择行的随机子集的问题。正如许多人可能知道的那样,RAND()的ORDER效率很低,或者至少这是共识。我读过mysql为表中的每一行生成随机值,然后根据这些随机值进行筛选,然后返回set。最大的性能影响似乎来自于这样一个事实:生成的随机数与表中的行相同。因此,我正在寻找可能更好的方法来返回这种查询的结果的随机子集:
SELECT id FROM <table> WHERE <some conditions> LIMIT 10;
当然,做我想做的事情的最简单和最简单的方法就是我想要避免的女巫:
SELECT id FROM <table> WHE
告诉mySQL获取最少数量的记录的最佳方法是什么?
假设我有一个products表,我需要返回至少5个项目来适应网站设计。我可以很容易地写出这样的代码:
SELECT *
FROM products
WHERE featured = true;
但是如果这只返回了3个结果,那么从DB返回另外2个产品的最佳方式是什么呢?我在想,也许可以使用UNION连接和查询来返回几个随机产品。有没有人有进一步的建议?
我有下面的MySQL语句,当产品数量增加时,它的执行速度非常慢。目前的说明如下:
SELECT DISTINCT products.*, colors.value FROM products
LEFT OUTER JOIN product_fields colors ON colors.product_id = products.id AND colors.name = 'color'
GROUP BY products.id
ORDER BY
CASE WHEN merchant IN ('Merchant 1') THEN -1 ELSE RAND
我读过一些MySQL的ORDER BY RAND()函数的替代方案,但大多数替代方案只适用于需要对单个随机结果进行处理的地方。
是否有人知道如何优化返回多个随机结果的查询,如:
SELECT u.id,
p.photo
FROM users u, profiles p
WHERE p.memberid = u.id
AND p.photo != ''
AND (u.ownership=1 OR u.stamp=1)
ORDER BY RAND()
LIMIT 18
有没有什么好的、直接的方法可以在使用PuTTY连接的同时使用MySQL的普通命令行客户端连接到MySQL数据库,并让它正确地呈现包含非西方字符的UTF8字段?
我的表使用UTF8编码,在正常使用中,这些值来自安卓应用程序,并由安卓应用程序显示。问题是偶尔会出问题,当发生问题时,我几乎不可能弄清楚发生了什么,因为MySQL的命令行客户端强制将UTF8值强制转换为(看起来是) ISO-8859-1 (即在屏幕上显示的准随机胡言乱语)。无论如何,Toad For MySQL (免费和测试版)似乎以同样的方式破坏了UTF8输出。
在半相关的注释中,我最喜欢的等宽字体是Andale Mono (是的,我