gpt4 book ai didi

Mysql多次限制随机记录

转载 作者:行者123 更新时间:2023-11-29 00:21:10 25 4
gpt4 key购买 nike

我已经创建了一个查询来显示我的包。

它工作正常,但我的问题是为每个 meta_value 获取随机产品。

为此,我需要在其中设置限制。

假设如果 meta_value='0' 有 10 个产品,但我想显示其中的两个随机记录。

如果 meta_value='2' 我想从中显示 5 个随机记录。

像这样我想从sql中获取。

我的查询是,

SELECT SQL_CALC_FOUND_ROWS DISTINCT * 
FROM wp_posts qp
INNER JOIN wp_postmeta wpm ON (qp.ID = wpm.post_id)
WHERE 1=1 AND (((qp.post_title LIKE '% %') OR (qp.post_content LIKE '% %'))) AND
qp.post_type = 'listing_type' AND qp.post_status IN ('publish', 'private') AND
wpm.meta_key = 'packageID' AND wpm.meta_value IN ('0', '1', '2', '3', '4')
GROUP BY qp.ID
ORDER BY wpm.meta_value ASC, qp.post_date DESC
LIMIT 10

最佳答案

引用https://stackoverflow.com/a/5934739/212692 ,您可以将准备好的语句与随机数生成结合起来,以便在查询中获得随机限制。

SET @a = (SELECT FLOOR(1 + RAND() * 9));

PREPARE STMT FROM 'SELECT * FROM user LIMIT ?';
EXECUTE STMT USING @a;

在 FLOOR 中,您可以将 1 和 9 替换为您想要的动态限制范围。

不过,您可能还需要使用 UNION 以获得具有不同 meta_value 值的不同 LIMIT-ed 记录。

关于Mysql多次限制随机记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21038551/

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