gpt4 book ai didi

mysql - 如何打乱两个 MySQL SELECT 语句的结果

转载 作者:行者123 更新时间:2023-11-29 11:54:18 24 4
gpt4 key购买 nike

我正在尝试运行一个查询,该查询将 SELECT从表中 status = 1SELECT来自同一张表,其中 status = 6 。我希望最终结果仅限于六个,并且最终结果是随机选择(洗牌)的。我尝试使用 ORDER BY rand() ,但它返回相同的结果,没有任何洗牌(随机选择)。
这是我的查询:

(SELECT * FROM fpf_adverts WHERE status = 1 ORDER BY rand())
UNION ALL
(SELECT e.*FROM fpf_adverts e JOIN fpf_adverts ee ON e.status + 6 > ee.status WHERE e.status = 6) ORDER BY rand() LIMIT 6

关于如何实现这一目标有什么想法吗?

最佳答案

尝试一下吗?

        SELECT * FROM (
SELECT *
FROM fpf_adverts
WHERE status IN (1,6)
ORDER BY status
LIMIT 6) t
ORDER BY RAND()
<小时/>

之前的回答

尝试一下吗?

SELECT * FROM
(SELECT *
FROM fpf_adverts WHERE status = 1
UNION ALL
SELECT e.*
FROM fpf_adverts e
INNER JOIN fpf_adverts ee ON e.status + 6 > ee.status
WHERE e.status = 6) t
ORDER BY rand()
LIMIT 6

但如果您只想按状态 1 或 6 进行过滤,那就更好

    SELECT *
FROM fpf_adverts
WHERE status IN (1,6)
ORDER BY rand()
LIMIT 6

关于mysql - 如何打乱两个 MySQL SELECT 语句的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33472986/

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