所以我有这行代码:
$results = mysql_query('
SELECT *
FROM members
WHERE category1="Photographers"
ORDER BY premium DESC, featured DESC, company ASC');
一切都很好,高级会员出现在上面的特色。在普通成员的上方,他们都是按字母顺序排列的。然而,我想有特色的成员显示以上的常规成员,但随机的,而不是按字母顺序。我试过RAND(),但它随机化了我所有的成员,请帮助。
SELECT *
FROM members
WHERE category1="Photographers"
ORDER BY
premium DESC,
featured DESC,
CASE WHEN featured = 1 THEN RAND() ELSE company END ASC
您可以在ORDER BY中使用CASE,例如
SELECT *
FROM members
WHERE category1="Photographers"
ORDER BY CASE WHEN Featured = 1 THEN 0 ELSE 1 END, Rand()