2012-04-28 16 views
16

Duplicar posibles:
every derived table must have its own aliasselect max() de recuento()

Necesito encontrar máximo de acciones por usuario

columnas de la tabla: action_id, action_status, user

solicitud:

SELECT MAX(`counted`) FROM 
(
SELECT COUNT(*) AS `counted` 
FROM `table_actions` 
WHERE `status` = "good" 
GROUP BY `user` 
) 

mensaje de error: "Cada tabla derivada debe tener su propio alias"

lo que está mal ..

+0

La próxima vez, busque Stack Overflow para una respuesta ya existente. – kapa

+1

sí, duplicar ... la próxima vez voy a estar más atento – Zdomb

Respuesta

25

Eso significa MySQL insiste en que le das al interior SELECT un nombre, como? :

SELECT MAX(counted) FROM 
(
    SELECT COUNT(*) AS counted 
    FROM table_actions 
    WHERE status = "good" 
    GROUP BY user 
) AS counts; 
+0

omg ... tan pequeño cambio ... thx! – Zdomb

+1

si también selecciona el estado de la fila, no será preciso: 'seleccionar máximo (contado), estado desde (seleccionar conteo (*) como contado, estado ...' no funcionará ... el campo "estado "No será preciso. Realmente no sé cómo solucionar esto – Bengalaa

Cuestiones relacionadas