Me dices que son importantes las secciones, pero no veo la relación entre las tablas, pues en la tabla gal debería haber un campo refseccion que contuviera el número del Idseccion de avisos_seccion de la sección correspondiente.
Sin preocuparte de la sección
Para el más reciente:
Código sql:
Ver originalSELECT * FROM gal g INNER JOIN(SELECT generado FROM gal GROUP BY generado ORDER BY generado DESC LIMIT 0,1)T1 ON g.generado = t1.generado
Para el siguiente:
Código sql:
Ver originalSELECT * FROM gal g INNER JOIN(SELECT generado FROM gal GROUP BY generado ORDER BY generado DESC LIMIT 1,1)T1 ON g.generado = t1.generado
Pero si quieres buscar por sección (he puesto no la variable, sino el dato del idseccion, concretamente el 2.
Para el más reciente:
Código sql:
Ver originalSELECT g.Nombre, g.Imagen, g.Descripcion, ase.Seccion, g.generado
FROM gal g
INNER JOIN (
SELECT gal.generado
FROM gal
INNER JOIN avisos_seccion ON gal.refseccion = avisos_seccion.IdSeccion
WHERE avisos_seccion.Idseccion =2
GROUP BY gal.generado
ORDER BY gal.generado DESC
LIMIT 0 , 1
)t1 ON t1.generado = g.generado
INNER JOIN avisos_seccion ase ON ase.Idseccion = g.refseccion
WHERE ase.Idseccion =2
Para el siguiente:
Código sql:
Ver originalSELECT g.Nombre, g.Imagen, g.Descripcion, ase.Seccion, g.generado
FROM gal g
INNER JOIN (
SELECT gal.generado
FROM gal
INNER JOIN avisos_seccion ON gal.refseccion = avisos_seccion.IdSeccion
WHERE avisos_seccion.Idseccion =2
GROUP BY gal.generado
ORDER BY gal.generado DESC
LIMIT 1 , 1
)t1 ON t1.generado = g.generado
INNER JOIN avisos_seccion ase ON ase.Idseccion = g.refseccion
WHERE ase.Idseccion =2
Algo de explicación para los dos últimos:
en el interior busco el idseccion 2 y agrupo por fecha ordenando en orden descendente y trayéndome el primero o el segundo mediante LIMIT 0,1 y LIMIT 1,1, respectivamente. Lo que me traigo realmente es la fecha mediante esa consulta a cuyo resultado aludo mediante el alias t1; luego mediante la consulta de idseccion 2 (hay que volver a hacerla, porque puede que otras idseccion aparezcan en esa fecha) entre los datos del cruce mediante inner join entre la tabla gal, que contiene el dato fecha generado, y ese generado de t1 , me traigo los datos que me interesen, usando para ello los inner join entre las dos tablas y la consulta interior cuyo alias es t1.
Puede parecer un poco lioso, y tal vez lo sea, pero creo que funciona.