gpt4 book ai didi

mysql - $wpdb - 按两个元值排序

转载 作者:行者123 更新时间:2023-11-29 21:56:53 26 4
gpt4 key购买 nike

我有“类型”自定义字段和两个值(免费和付费)。我需要先循环获取“付费”帖子,然后再获取最新的免费帖子。如何对我的查询进行排序?我无法使用 wp_query。

global $wpdb;
$query = "
SELECT *
FROM $wpdb->posts
INNER JOIN $wpdb->postmeta m1
ON ( $wpdb->posts.ID = m1.post_id )
WHERE
$wpdb->posts.post_type = 'object'
AND $wpdb->posts.post_status = 'publish'
AND ( m1.meta_key = 'type' AND m1.meta_value = $type )
GROUP BY $wpdb->posts.ID
ORDER BY $wpdb->posts.post_date
DESC;
";

最佳答案

您当前按 post_date 排序,因此最旧的将首先显示,最新的最后显示。对于同一日期的所有行,mysql 将决定顺序。如果您想保留此日期顺序,但始终在特定日期首先显示付费内容,那么您可以添加第二个排序属性:

ORDER BY $wpdb->posts.post_date, meta_value DESC

DESC 将确保“付费”优先于“免费”(如果这些是您的实际值)。这也是假设只有两个值。如果您可能有更多值,那么可能值得研究 mysql CASE expression

关于mysql - $wpdb - 按两个元值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061185/

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