Получить общую сумму и количество столбцов в MySql - PullRequest
0 голосов
/ 07 января 2020

Возможно ли вложенное выражение SELECT в sql? Я работаю над проблемой и не могу получить данные, которые хочу. Это sql, который я запрашиваю:

 SELECT derived.municipality, count(*) as counts, derived.bearing
    from (SELECT m.name as municipality,  count(*) as totalcount, sum(f.no_of_bearing_trees) as bearing 
    from farmer_profile f
    inner join barangay b on f.barangay_id = b.id
    inner join municipality m on b.municipality_id = m.id
    inner join province p on m.province_id = p.id
    group by b.name) as derived
    group by derived.municipality, derived.bearing

Вот пример данных, с которыми я работаю. Я хочу получить сумму всех значений подшипников и общего количества, когда я помещаю предложение where внизу (например, где output.bearing <20). Все те подшипники с менее чем 20 будут подсчитаны. Я не уверен, нужен ли подзапрос снова или нет. </p>

l

1 Ответ

1 голос
/ 07 января 2020

Я подозреваю, что вы хотите выполнить фильтрацию по муниципалитетам, чья сумма выплаты меньше 20. Если это так, вы можете использовать для этого условие having:

select
    m.name as municipality,  
    count(*) as totalcount, 
    sum(f.no_of_bearing_trees) as bearing 
from farmer_profile f
inner join barangay b on f.barangay_id = b.id
inner join municipality m on b.municipality_id = m.id
inner join province p on m.province_id = p.id
group by b.name
having sum(f.no_of_bearing_trees) < 20

MySQL недостаточно для столбца псевдонимы в предложении having, поэтому вы также можете сделать:

having bearing < 20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...