【问题标题】:Mysql: ORDER BY a field randomly if a field has a valueMysql:如果字段有值,则随机排序字段
【发布时间】:2013-02-22 03:52:21
【问题描述】:

我想创建这样的查询

SELECT id, name, type, image FROM table ORDER BY type ASC, image.....

先随机抽取所有A型行,然后随机列出所有B型行,然后随机列出所有C型行。在同一类型中,检查该行是否有图像,然后在没有图像的行上方随机列出有图像的行。
该表有几千行。
任何人有一个好的解决方案?感谢你的帮助。谢谢

【问题讨论】:

  • 您已经编写了查询。您只需要根据存储在图像列中的值类型来更新查询。你还想要什么解决方案?

标签: mysql random sql-order-by


【解决方案1】:
ORDER BY type ASC, CASE WHEN image IS NULL THEN 1 ELSE RAND() END ASC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-15
    • 2022-11-15
    • 2023-04-10
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2021-12-20
    • 2018-02-15
    相关资源
    最近更新 更多