【问题标题】:MySQL sort by zip code and then random in each zip codeMySQL按邮政编码排序,然后在每个邮政编码中随机排序
【发布时间】:2013-12-10 13:44:16
【问题描述】:

我有一个正在运行的 SQL 查询:

SELECT * FROM listings, listings_categories 
    WHERE listings.id = listings_categories.listing_id AND category_id 
    IN (1,3,5,8,7,4,5,2) 
    AND business_zip IN (89101,89102,89103,89104,89105,89106) 
    AND status = '1' GROUP BY listings.id

是否有办法对结果进行排序,使其按 business_zip ASC 排序,但在每个邮政编码中随机化结果,或者我最好在 php 中处理。

【问题讨论】:

    标签: mysql sorting random


    【解决方案1】:

    你可以有多种排序..

    SELECT * FROM listings, listings_categories 
    WHERE listings.id = listings_categories.listing_id AND category_id 
    IN (1,3,5,8,7,4,5,2) 
    AND business_zip IN (89101,89102,89103,89104,89105,89106) 
    AND status = '1' GROUP BY listings.id
    ORDER BY business_zip, RAND()
    

    【讨论】:

    • 哦,太好了...我认为如果您在另一个排序参数之后使用 RAND(),它会取消另一个参数。我会试一试的。
    • 我不这么认为,它的行为应该与表格中有一个名为“rand”的列完全相同,该列预先填充了 0 到 ORDER BY business_zip, RAND()*weight
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多