2010-04-19 3 views
0

Toute idée pourquoi requêteUtilisation incorrecte de la fonction de groupe dans MySQL 4 (pas 5)

SELECT 
    m.* 
FROM 
    products_description pd, 
    products p 
    left join manufacturers m on p.manufacturers_id = m.manufacturers_id, 
    products_to_categories p2c 
WHERE 
    p.products_carrot = '0' and 
    p.products_status = '1' and 
    p.products_id = p2c.products_id and 
    pd.products_id = p2c.products_id and 
    pd.language_id = '4' and 
    p2c.categories_id = '42' 
GROUP BY manufacturers_id 
ORDER BY COUNT(*) 

peut donner l'erreur suivante:

#1111 - Invalid use of group function

à MySQL 4.0.24 et non sur MySQL 5.0. 51?

+0

Est-ce que la table de fabricants a seulement deux colonnes, id + 1 autre? –

Répondre

1

Auto-réponse. Mentioning colonne que je veux commander par clause SELECT et aliasing il fait l'affaire:

SELECT 
    m.*, COUNT(*) as cnt 
FROM 
    products_description pd, 
    products p 
    left outer join manufacturers m on p.manufacturers_id = m.manufacturers_id, 
    products_to_categories p2c 
WHERE 
    p.products_carrot = '0' and 
    p.products_status = '1' and 
    p.products_id = p2c.products_id and 
    pd.products_id = p2c.products_id and 
    pd.language_id = '4' and 
    p2c.categories_id = '42' 
GROUP BY p.manufacturers_id 
ORDER BY cnt 
+0

merci, cela a résolu mon problème aussi :) –

Questions connexes