2010-04-06 10 views

Respuesta

1

me pregunto si esto funcionaría:

select * from table where id in (select distinct max(id) from table group by name) 
+0

Es posible que obtenga demasiadas filas. Su extracto devuelve todas las filas que tienen una identificación que es el máximo de cualquier grupo (no necesariamente el grupo al que pertenece esta fila). Considere los siguientes pares (id, nombre): (1, foo), (2, foo), (2, barra), (3, barra). Desea recuperar (2, foo) y (3, bar), pero su consulta también devuelve (2, bar) ya que 2 es el máximo del grupo foo. – titanoboa

+0

Se agregó DISTINCT para seleccionar – Riho

0
SELECT di.id, di.orderer, di.ghigh, di.glow 
FROM (
     SELECT glow, MIN(orderer) AS orderer 
     FROM t_distinct d 
     GROUP BY 
       glow 
     ) dd 
JOIN t_distinct di 
ON  di.id = 
     (
     SELECT id 
     FROM t_distinct ds 
     WHERE ds.glow = dd.glow 
       AND ds.orderer = dd.orderer 
     ORDER BY 
       glow DESC, orderer DESC, id DESC 
     LIMIT 1 
     ) 

Ver este artículo para más explicaciones:

0

vistazo a la siguiente consulta:

SELECT items.* 
FROM items, (select @grouping_value:=null) as init 
WHERE GREATEST([email protected]_value, 
       IF(@grouping_value:=grouping_field,0,0)) 
ORDER BY grouping_field, sorted_field DESC 

La idea es ordenar los datos de tabla mediante la agrupación de campo y el campo ordenado y tomar la primera fila de cada grupo

1

me encontré con este hilo cuando se trabaja en un código foro. Quería obtener la última publicación para cada tema y mostrarla en la lista de temas para un foro en particular.

La respuesta anterior de Quassnoi fue muy útil para mí y pude adaptarla. Aquí está el código en caso de que ayude a alguien más:

SELECT p.id As post_id, p.post_number, p.topic_id 
FROM forum_post p, (
    SELECT topic_id, MAX(post_number) As max_post_number 
    FROM forum_post d 
    GROUP BY topic_id) dd 
WHERE p.id = 
(
    SELECT id 
    FROM forum_post 
    WHERE topic_id = dd.topic_id 
    AND post_number = dd.max_post_number 
    ORDER BY topic_id DESC, post_number DESC, id DESC 
    LIMIT 1 
) 
Cuestiones relacionadas