MySQL慢速分组查询
我有6张桌子 1.产品p 2.属性a 3.产品和属性pa(ID、pID、aID) 4.c公司 5.用户u 6.公司和用户cu(ID、cID、uID) 现在在管理我想看到公司的产品和它的属性MySQL慢速分组查询,mysql,group-by,Mysql,Group By,我有6张桌子 1.产品p 2.属性a 3.产品和属性pa(ID、pID、aID) 4.c公司 5.用户u 6.公司和用户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 an
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
在中,groupby
意味着orderby
如果不需要特定的订单,请按NULL添加订单
默认情况下,MySQL按col1、col2、。。。按col1、col2、。。。在查询中也是如此。如果显式包含包含相同列列表的ORDERBY子句,MySQL会对其进行优化,而不会降低速度,尽管排序仍然会发生。如果查询包含GROUP BY,但希望避免对结果进行排序的开销,则可以通过指定ORDER BY NULL来抑制排序。例如:
也请张贴表格示意图(
描述表格;
)。