mysql - 按 2 列和 rand() 排序

标签 mysql

我有这样的数据库结构:

|id|name|vip|price|

此内容:

|id|name |vip|price|
|1 |note1|1  |10000|
|2 |note2|0  |13000|
|3 |note3|0  |50000|
|4 |note4|1  |12000|
|5 |note5|0  |500  |

在网站中,我有 3 种排序方式 - 按 ID、按价格、按名称。

但首先我必须出示 VIP 票据,而且他们必须按兰特订购:)

比如: 从注释中选择* ORDER BY vip DESC,ORDER BY价格ASC

但是 VIP 票据也必须按兰特排序:)

我可以通过向数据库发出 1 个请求来完成此操作吗?

最佳答案

我想你想要:

  SELECT * 
    FROM notes 
ORDER BY vip DESC, 
         price ASC,
         RAND()

请注意,在较大的表上按 rand 排序可能会产生较高的性能成本。

关于mysql - 按 2 列和 rand() 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25246334/

相关文章:

MYSQL 不同查询

mysql - 使用多个 where 子句插入语句

MySQL 带有连接的 SELECT 查询花费太长的时间

php - 为什么我的电子邮件没有从使用 PHP 的订单成功页面发送

mysql - MySQL中三张表的数据表示

php - 查找多维数组中的最小值并返回索引号

php - 解析错误:语法错误,第48行/home/a4673434/public_html/index.php中的意外$ end

mySQL 多重选择 : 1 complicated 1 simple

php - 使用 codeigniter 将具有相同输入名称的表单输入插入到数据库行中

PHPUnit DBUnit 用于集成测试查询 MySQL 存储过程的类