Can you divide one alias by another in MySQL?

后端 未结 2 1812
没有蜡笔的小新
没有蜡笔的小新 2021-02-08 21:25

I have a multi-table query, similar to this (simplified version)

SELECT columns, count(table2.rev_id) As rev_count, sum(table2.rev_rating) As sum_rev_rating 
FRO         


        
2条回答
  •  一向
    一向 (楼主)
    2021-02-08 21:47

    my mysql is rusty; you might try

    SELECT columns, count(table2.rev_id) As rev_count, 
        sum(table2.rev_rating) As sum_rev_rating,
        sum(table2.rev_rating)/count(table2.rev_id) as rev_ratio
    FROM table1
        LEFT JOIN table2ON table1.dom_id = table2.rev_domain_from 
    WHERE dom_lastreview != 0 
    AND rev_status = 1 
    GROUP BY dom_url 
    ORDER BY rev_Ratio DESC
    

    or

    SELECT * from (
        SELECT columns, count(table2.rev_id) As rev_count, 
            sum(table2.rev_rating) As sum_rev_rating 
        FROM table1
            LEFT JOIN table2ON table1.dom_id = table2.rev_domain_from 
        WHERE dom_lastreview != 0 
        AND rev_status = 1 
        GROUP BY dom_url 
    ) X
    ORDER BY X.sum_rev_rating/X.rev_count DESC
    

    or

    SELECT * from (
        SELECT columns, count(table2.rev_id) As rev_count, 
            sum(table2.rev_rating) As sum_rev_rating,
            sum(table2.rev_rating)/count(table2.rev_id) as rev_ratio
        FROM table1
            LEFT JOIN table2ON table1.dom_id = table2.rev_domain_from 
        WHERE dom_lastreview != 0 
        AND rev_status = 1 
        GROUP BY dom_url 
    ) X
    ORDER BY rev_Ratio DESC
    

提交回复
热议问题