mysql RAND()后面是描述顺序

mysql RAND()后面是描述顺序,mysql,Mysql,我正在从数据库中提取一份旅馆名单。有些是升级的,这使他们有权显示在列表的顶部。当前,升级后的节目按升序排列,然后是使用以下命令的常规节目: SELECT Company FROM bandb Where BusinessState = '$State' AND BusinessCity = '$City' AND (Active = 'Web' OR Active = 'Name') ORDER by featured asc, Company asc 我需要更改它,以便升级后的酒店以随机顺序

我正在从数据库中提取一份旅馆名单。有些是升级的,这使他们有权显示在列表的顶部。当前,升级后的节目按升序排列,然后是使用以下命令的常规节目:

SELECT Company FROM bandb Where BusinessState = '$State' AND BusinessCity = '$City' AND (Active = 'Web' OR Active = 'Name') ORDER by featured asc, Company asc
我需要更改它,以便升级后的酒店以随机顺序显示,然后以升序显示其余的酒店,但我被难住了。有什么想法吗?

试试看

SELECT Company, IF(featured, rand(), 0) AS rand_position
FROM bandb
Where BusinessState = '$State' AND BusinessCity = '$City' AND (Active = 'Web' OR Active = 'Name')
ORDER by featured asc, rand_position DESC, Company asc
如果该公司的“特色”,则会为其职位生成一个随机数,否则他们会得到一个
0
。然后在随机场上排序。非特色公司最终位于底部,特色公司按随机数排序。

试试看

SELECT Company, IF(featured, rand(), 0) AS rand_position
FROM bandb
Where BusinessState = '$State' AND BusinessCity = '$City' AND (Active = 'Web' OR Active = 'Name')
ORDER by featured asc, rand_position DESC, Company asc

如果该公司的“特色”,则会为其职位生成一个随机数,否则他们会得到一个
0
。然后在随机场上排序。非特色公司最终位于底部,特色公司按随机数顺序显示。

我真的,真的希望这些插值是正确的。我有一个函数可以在“清理它们的函数”出现问题之前清理它们,因为它们通常是错的。SQL转义应该是显式的,非常明显。我真的非常希望那些插值是显式的。我有一个函数在“清除它们的函数”出现问题之前将它们清除干净,因为它们通常是错误的。SQL转义应该是显式的,并且非常明显。