gpt4 book ai didi

Mysql按RAND排序,但必须包含少量数据

转载 作者:行者123 更新时间:2023-12-04 01:28:30 26 4
gpt4 key购买 nike

我遇到了一些不寻常的问题。请帮忙。一列有 300 行。我想通过 rand() 显示任意 100 个订单。但是在这随机选择的 100 个中,必须有 2 行。我怎么写呢?示例:

“从 sample_table 中选择 id,其中 id<300 或 id>1 order by rand() limit 100”

但我希望结果必须包括id=34和id=78

最佳答案

使用UNION ALL选择结果中必须存在的2行和98个随机行:

select id from sample_table 
where id in (34, 78)
union all
select id from (
select id from sample_table
where where id not in (34, 78)
order by rand() limit 98
) t
order by rand()

或更简单的条件排序:

select * from (
select id from sample_table
order by id not in (34, 78), rand()
limit 100
) t
order by rand()

关于Mysql按RAND排序,但必须包含少量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61431846/

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