MySQL combina COUNT, MAX y SUM

En MySQL, me gustaría tener una columna adicional que muestre la suma de valores de una columna en particular. Sin embargo, los números que me gustaría sumar provienen de una subconsulta y no se almacenan en una tabla separada, algo como esto:

(SELECT a.ID, MAX(a.COUNT_ID) AS MAX_COUNT FROM
    (SELECT ID, COUNT(*) AS COUNT_ID
    FROM my_table
    GROUP BY COL1, COL2) a
 GROUP BY COL1, COL2) b

Y esto generaría algo como:

ID     MAX_COUNT
ABC    1
DEF    2
GHI    3

Y ahora, quiero una columna adicional que muestre la suma de MAX_COUNT, como esta (repetida en todas las filas):

ID     MAX_COUNT    SUM_MAX_COUNT
ABC    1            6
DEF    2            6
GHI    3            6

El objetivo real es mostrar el porcentaje MAX_COUNT del total MAX_COUNT, por lo tanto, 1/6, 2/6 y 3/6. ¿Cómo hago esto? Ya intenté hacer unCROSS JOIN pero no funciona

SELECT * FROM
    ((SELECT a.ID, MAX(a.COUNT_ID) AS MAX_COUNT FROM
        (SELECT ID, COUNT(*) AS COUNT_ID
        FROM my_table
        GROUP BY COL1, COL2) a
     GROUP BY COL1, COL2) b
CROSS JOIN (SELECT SUM(b.MAX_COUNT)) AS c

Error: tabla desconocida 'b'

EJEMPLO

Tabla de ejemplo:

CREATE TABLE TABLE1 (
COL1 varchar(255),
COL2 varchar(255),
DAY int,
HOUR int);

INSERT INTO TABLE1 VALUES
('X','Y',1,12),
('X','Y',1,13),
('X','Y',1,13),
('A','B',2,19),
('X','B',3,13),
('X','B',3,13);

Ahora quiero tener, para cada combinación de COL1 y COL2, el número de líneas en esta tabla para cada hora:

SELECT COL1, COL2, HOUR, COUNT(*) AS COUNT_LINES
FROM TABLE1
GROUP BY DAY, HOUR, COL1, COL2;

Lo que genera esto:

COL1    COL2    HOUR    COUNT_LINES
X       Y       12      1
X       Y       13      2
A       B       19      1
X       B       13      2

Ahora quiero, para cada combinación de COL1 y COL2, el máximo de COUNT_LINES, por lo que utilizo la consulta anterior en una subconsulta:

SELECT a.COL1, a.COL2, MAX(a.COUNT_LINES)
FROM 
    (SELECT COL1, COL2, HOUR, COUNT(*) AS COUNT_LINES
    FROM TABLE1
    GROUP BY DAY, HOUR, COL1, COL2) a
GROUP BY COL1, COL2;

Lo que genera esto:

COL1    COL2    MAX(COUNT_LINES)
A       B       1
X       B       2
X       Y       2

Ahora, en el último paso, quiero la columna SUMA DE MÁXIMO (COUNT_LINES) en una columna separada, como esta:

COL1    COL2    MAX(COUNT_LINES)    SUM(MAX(COUNT_LINES))
A       B       1                   5
X       B       2                   5
X       Y       2                   5

Pero esa es la parte que no sé hacer.

Respuestas a la pregunta(3)

Su respuesta a la pregunta