2014-02-05 102 views
3

我有一个查询低于生产厂的简单列表(命名为“惊悚片”的字段)MySQL查询需要改进

问题:下面

查询考虑只有第一顺序设置的匹配表中的项目,然后以随机顺序显示它们。该查询不考虑在表格后面找到的其他匹配项目。

解决方案所需:

我希望查询选择从表中的所有项目,不仅是第一个匹配结果的集合随机的结果。

$row_object = $wpdb->get_results($wpdb->prepare( 
    "SELECT * FROM {$wpdb->prefix}personal_creations_assistant 
    WHERE pot_sun_exposure = %s 
    AND pot_height = %s 
    AND pot_size = %s 
    AND pot_shape = %s 
    AND pot_placement = %s 
    GROUP BY thriller 
    ORDER BY RAND() LIMIT 0,3 
    ", 
    $sun_exposure, 
    $height, 
    $size, 
    $shape, 
    $placement 
    ) 
); 
+0

什么数据库接口层使用你这里?我不认识它。 – tadman

+0

@tadman,对不起 - 这个查询是在Wordpress中 - 但核心'MYSQL'在那里:) –

+0

只是想知道正确标记它。 – tadman

回答

0

如果我得到它的权利,你想从数据库中得到一些随机行。随机3行。 你可以用php来做到这一点。首先制作COUNT以查找总共有多少行。然后说你调用你的变量$ rowstotal;你再拍一个$limit_s = rand(0, $rowstotal);然后将其添加到您的查询:

... LIMIT $limit_s, 3