Using count() and sum() in a calculation in a select
GROUP BY and the HAVING clause are what you are looking for. GROUP BY allows you to use aggregate functions without having to only have 1 row of data as you currently do. Here, we're going to compute the count of all the users and to total bandwidth for all the users at that company. I don't quite get your tipping point so the logic there may be off. I guess I'm reading it as "we're sharing 1GB of data across all these users"

The HAVING is similar to our WHERE but operates on the GROUPed BY data. Here I've specified that I only want rows where the total bandwidth is over 1GB.

Unless you need something from the Company table, there's no real reason to add them to the query since all of your data is on the User record.

SELECT
    U.CompanyId
,   COUNT(*) as numUsers
,   SUM(U.BandwidthThisMonth) as totalBandwidth 
FROM 
    Company C
    INNER JOIN
        [User] U
        ON U.CompanyId = C.CompanyId
GROUP BY
    U.CompanyId
HAVING
    -- this assumes storage vendor math and not true GB
    -- As a consumer, I'd expect 1GB of bandwidth to be 1 073 741 824
    SUM(U.BandwidthThisMonth) &gt; 1000000000;