【问题标题】:Confusion about orderby in the mysql query关于mysql查询中orderby的混淆
【发布时间】:2017-06-11 08:00:46
【问题描述】:

下面是mysql查询:

SELECT * FROM `is_product_info` ORDER BY (select distinct product_id from is_product_images where is_product_images.product_id = is_product_info.id) asc

我没有在这里了解 order by 如何与子查询一起使用。

我在 wordpress 插件中遇到了这样的查询,这些查询按子查询排序。这对我来说是新的,所以我问其他人是否知道这一点。下面是这样的例子:

SELECT wp22_posts.* 
  FROM wp22_posts 
  LEFT 
  JOIN wp22_term_relationships 
    ON wp22_posts.ID = wp22_term_relationships.object_id
 WHERE 1=1 
   AND wp22_posts.ID IN(260,412,413,414,415,469,474,483
                       ,485,487,488,515,516,563,568‌​,569
                       ,584,592,593,596‌​,599,601,604,610
                       ,612‌​,672,675,678,681,690‌​,860,861,862,863)
 GROUP 
    BY wp22_posts.ID 
 ORDER 
    BY (SELECT distinct meta_value from wp22_postmeta where'meta_key' LIKE 'price') ASC 
 LIMIT 0, 10

有人描述这个查询吗?

【问题讨论】:

  • 那是因为它是乱码
  • 我遇到了这样的查询,这些查询在 wordpress 插件中按子查询排序。这对我来说是新的,所以我问其他人是否知道这一点。下面是这样的例子:SELECT wp22_posts * FROM wp22_posts LEFT JOIN wp22_term_relationships ON(wp22_posts.ID = wp22_term_relationships.object_id)其中1 = 1 AND(wp22_posts.ID在(260,412,413,414,415,469,474,483,485,487,488,515,516,563,568,569,584,592,593,596,599,601,604,610,612,672,675,678,681,690,860,861,862,863))GROUP BY wp22_posts.ID ORDER BY(SELECT不同于meta_value wp22_postmeta where'meta_key' LIKE 'price') ASC LIMIT 0, 10
  • 但是,示例 WordPress 查询非常糟糕,并且是由并不真正了解自己在做什么的人构建的

标签: mysql sql-order-by


【解决方案1】:

为了回答您的问题,ORDER BY 子句什么都不做(除了可能阻止查询工作)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多