apchhi
apchhi

Reputation: 13

MySQL use result of subquery

i have next query

SELECT * 
FROM(
    SELECT 
        ID,
        SUM(points) AS SUMMARY
    FROM my_table
    GROUP BY ID
    ORDER BY SUMMARY DESC
) t1
WHERE SUMMARY>=(SELECT 
                    SUMMARY
                FROM (
        SELECT 
                        ID,
                        SUM(points) AS SUMMARY
        FROM my_table
        GROUP BY ID
        ORDER BY SUMMARY DESC
        ) t2
    WHERE ID=1234)

How can I remove duplicate query or reuse selection results? Maybe my request is completely incorrect?

Upvotes: 1

Views: 58

Answers (1)

lc.
lc.

Reputation: 116528

I'm pretty sure your query is identical to:

SELECT ID, SUM(points) AS SUMMARY
FROM my_table
GROUP BY ID
HAVING SUMMARY >= (SELECT SUM(points) FROM my_table WHERE ID=1234)
ORDER BY SUMMARY DESC

SQL Fiddle demonstration

Upvotes: 1

Related Questions