mysql - 选择"如果"偏爱

时间:2014-12-05 07:34:04

标签: php mysql sql

我需要优先加载50个entires。 让我们假设我有

User_id  mid     preference
564      djng    2
123      e3r3    1
423      u5h5    1
544      djnw    2
545      njdw    2

首先要加载具有偏好的entires" 1"如果没有" 1"然后加载所有其他左边,限制为50,所以当我们有40个entires并且有偏好" 1"例如100,优先选择" 2"所以mysql查询得到 前40名优先参加" 1"然后在左边10添加首选项" 2"

目前我有

  $query = "SELECT * FROM $db1 WHERE userid!='$userid' AND mediaid NOT IN 
           (SELECT mid FROM $db2 WHERE uid='$userid')";

2 个答案:

答案 0 :(得分:1)

您的查询似乎与您提出的问题几乎无关,但执行此操作的一般方法是使用ORDER BYLIMIT

SELECT ...
FROM ...
WHERE ...
ORDER BY preference
LIMIT 0, 50

答案 1 :(得分:0)

$query = "SELECT * FROM $db1 WHERE userid!='$userid' AND mediaid NOT IN (SELECT mid FROM $db2 WHERE uid='$userid') ORDER BY preference ASC LIMIT 50";