mysql select an average from order by with a query -


i have 2 tables "recipes", "recipes_items" , in table recipes_items have integer columns "important". have query pulls recipes ordered sum(important) of recipes_items.important , order have sub query :

(select sum(...) recipes_items...) desc) 

but want retrieve additional column in recipes query average of column "important" table recipes_items how can ?

thanks moshe

select  recipes.recipename,         recipes.recipeid,         avg (recipes_items.importance) averagescore      recipes,recipes_items      recipes_items.recipeid=recipes.recipeid     order         ( select  sum(recipes_items.importance) sumimportance              recipes_items              recipes_items.recipeid = recipes.recipeid               ,  recipes_items.itemid in ('1059')       ) desc     limit  20 

what in results order importance column recipes_items.itemid matching set of id's in 'in()' section, wanted have number or sum of matching id's in each row of matching id's recipes_items.itemid...

you don't show full query can without subquery , still include average:

select recipes.id, recipes.name, avg(recipes_items.important) recipes left join recipes_items on (recipes.id = recipes_items.recipe_id) group recipes.id order sum(recipes_items.important) desc 

Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -