Php 为什么Mysql order by不';不适用于此查询

Php 为什么Mysql order by不';不适用于此查询,php,mysql,sql-order-by,Php,Mysql,Sql Order By,我有一个疑问: SELECT * FROM ( SELECT p.id, product, unique_name, price, old_price, category_id, added_date FROM products p, products_to_categories ptc, products_to_adverts pta WHERE p.id=ptc.product_id AND (expire_date > now() OR expire_

我有一个疑问:

SELECT *    
FROM ( 
  SELECT p.id, product, unique_name, price, old_price, category_id, added_date    
  FROM products p, products_to_categories ptc, products_to_adverts pta 
  WHERE p.id=ptc.product_id AND (expire_date > now() OR expire_date=0) 
    AND p.id=pta.product_id AND p.active=1 AND p.instock=1 AND p.top_product="1" 
    and p.id not in (58,59,70,88,92,106,107,108,109) 
    and pta.advert_id not in (1,4,5,6,7,9,13,15,17) 
    ORDER BY added_date DESC
) as t GROUP BY id LIMIT 0,32    
添加的日期字段为日期时间


谢谢

不能在子查询中使用order by。尝试改用临时表。

您不能在查询中这样使用order by。因为我认为这是错误的。如果您可以使用sql
CASE

跟随这篇文章


[

除了查询嵌套没有任何意义之外,您的
GROUP BY id
可能会干扰子查询的
ORDER BY
。added_date的别名您需要添加架构,最好是一些示例数据/所需结果,以获得此查询的完整帮助,但外部查询中的
GROUP BY
将被删除在您的内部查询中,由
ORDER by
创建的所有排序都不会对输出进行排序。是的,您很好。问题通过在适当的位置移动ORDER by解决,谢谢!