0

我有 6 个表 1. Products p 2. Attributes a 3. Product and Attribute pa (ID, pID, aID) 4. Company c 5. USer u 6. Company and User cu (ID, cID, uID)

现在在管理员中,我想查看公司产品及其属性。

SELECT p.ID, p.name
from  products p
LEFT JOIN Product and Attribute pa  ON pa.pID =  p.ID 
LEFT JOIN Attributes a  ON a.pID =  pa.aID
LEFT JOIN Company and User cu  ON cu.UiD  = p.uID    AND cu.cID = 121 (spcific company id) 
WHERE 1 
GROUP BY p.ID
4

1 回答 1

0

MySQL中,GROUP BY意味着ORDER BY

如果不需要特别的顺序,添加ORDER BY NULL

默认情况下,MySQL 对所有 GROUP BY col1, col2, ... 查询进行排序,就好像您在查询中也指定了 ORDER BY col1, col2, ... 一样。如果你显式地包含一个包含相同列列表的 ORDER BY 子句,MySQL 会优化它而不会造成任何速度损失,尽管排序仍然会发生。如果查询包含 GROUP BY 但您想避免对结果进行排序的开销,则可以通过指定 ORDER BY NULL 来抑制排序。例如:

于 2013-06-17T09:02:19.610 回答