gpt4 book ai didi

mysql - 为什么 SQL LIMIT 子句会为每个查询返回随机行?

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:26 29 4
gpt4 key购买 nike

这是一个非常简单的查询。对于每个查询,我都会得到不同的结果。当我使用 TOP 1 时会发生类似的事情。我想要一个随机的子样本并且它有效。但是我错过了什么吗?为什么每次都返回不同的值?

SELECT DISTINCT user_id FROM table1 
where day_id>="2009-01-09" and day_id<"2011-02-16"
LIMIT 1;

最佳答案

无法保证您的查询会得到随机结果。您很可能每次都会得到相同的结果(尽管返回的实际结果是不确定的)。为了保证您获得一个随机的、唯一的 user_id,您应该从 DISTINCT 值列表中SELECT 一个随机值:

SELECT user_id
FROM (SELECT DISTINCT user_id
FROM table1
WHERE day_id >= "2009-01-09" AND day_id < "2011-02-16"
) u
ORDER BY RAND()
LIMIT 1

关于mysql - 为什么 SQL LIMIT 子句会为每个查询返回随机行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59496627/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com