php - 从 mysql 的表中选择随机 AND 'published' 行

标签 php mysql wordpress

我读过这个问题的很多答案,但在这种情况下似乎没有一个答案,当你需要在文章数据库中选择一个随机行时,比如说一个 wordpress 数据库,在 wp_posts 中,你实际上有两个修订版本,已删除和已发表的文章。

如果 id 是随机的并且帖子未像此代码中那样发布,则以前的答案似乎返回空白结果

SELECT * FROM wp_posts AS w
    JOIN (SELECT (RAND() *  (SELECT MAX(id)  FROM wp_posts)) AS id)  AS r2
    WHERE w.id >= r2.id
    AND w.post_status = 'publish'
    ORDER BY w.id ASC
    LIMIT 1

最佳答案

直接使用

SELECT * 
FROM wp_posts
WHERE post_status = 'publish'
ORDER BY RAND()
LIMIT 1

获取正在发布的随机记录。

关于php - 从 mysql 的表中选择随机 AND 'published' 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32855696/

相关文章:

php - 如果选择了特定类别,则在管理帖子页面上显示一些内容

php - 树莓派数据库服务器

JavaScript var 到 PHP

MySql:获取最新记录然后按字母顺序分组

php - 停止 WooCommerce 将 wp-login.php 和 wp-admin 重定向到帐户页面

mysql - WordPress 表情符号在数据库迁移后消失了

php - 如何密码保护整个网站但允许公众访问 1 个特定文件

javascript - php 未输出 JSON 数据

mysql - 检查插入的一列中前一行的值是否已更改

mysql - mysql中while和end while语法错误