Я пытаюсь сделать один PostGreSQL 9.3 query.The проблема здесь я должен сосчитать все чистящие средства с рейтингом ниже 4 rating.Here мой запросPostgresql я должен вернуться 0
SELECT count(ratings.score) as below, avg(ratings.score) as avg_rating, cleaners.first_name, cleaners.last_name, cleaners.id, cleaners.created_at
FROM "cleaners"
LEFT JOIN ratings ON ratings.cleaner_id = cleaners.id
GROUP BY cleaners.first_name, cleaners.last_name, cleaners.id, cleaners.created_at
здесь является следующее результат:
{
"HTTP_CODE": 200,
"cleaners": [
{
"id": 29,
"rating_below_3_stars": 1,
"avg_rating": "5.0",
"first_name": "asen",
"last_name": "asenov"
},
{
"id": 35,
"rating_below_3_stars": 2,
"avg_rating": "2.5",
"first_name": "Simepl",
"last_name": "cleaner"
}
]
}
пылесос с идентификатором "29" его rating_below_3_stars должны по электронной установлен в 0
Что я хочу:
{
"HTTP_CODE": 200,
"cleaners": [
{
"id": 29,
"rating_below_3_stars": 0,
"avg_rating": "5.0",
"first_name": "asen",
"last_name": "asenov"
},
{
"id": 35,
"rating_below_3_stars": 2,
"avg_rating": "2.5",
"first_name": "Simepl",
"last_name": "cleaner"
}
]
}
Я не понимаю, что вы хотите сделать. укажите пример текущего результата и пример желаемого результата. – John
результат не соответствует запросу. запрос выбирает только оценки ниже 4, как вы достигаете в среднем 5? –
извините, я исправлю его – user3696668