Query mysql ...

Jose Miguel Vidal Lavin jmvidal en sertotal.cl
Vie Abr 15 09:29:15 CLT 2005


Tipler wrote:

>Que tal ..
>
>... ando necesitando un poco de ayuda para realizar un query a una db
>mysql 4.1 bajo sarge ...
>
>les cuento...
>Tengo una tabla que contiene las siguiente info: 
>
>+---------+------------+---------------+
>|    id    | fecha       | Inventario |
>+---------+------------+---------------+
>|     909 | 2005-04-12 |           245 |
>|     910 | 2005-04-15 |           245 |
>|     875 | 2005-04-12 |           244 |
>|     876 | 2005-04-12 |           244 |
>|     848 | 2005-04-12 |           243 |
>|     847 | 2005-04-08 |           243 |
>|     834 | 2005-04-12 |           242 |
>|     833 | 2005-04-12 |           241 |
>|     832 | 2005-04-12 |           240 |
>|     831 | 2005-04-12 |           239 |
>+---------+------------+---------------+
>
>id: es un campo integer autoincrement
>fecha: campo date
>inventario: campo integer con valor de identificacion de lote.
>
>... la idea es hacer un query que me de como resultado por cada nro de
>"inventario" el registro que posea la mayor "fecha" y el mayor "id",
>pq puede suceder que las fechas sean iguales (por ej en el inventario:
>244)
>
>.. estuve probando pero no logro el resultado completo ..
>  
>
>> select max(id),fecha,Inventario from tabla group by Inventario order by Inventario desc limit 10; 
>>    
>>
>
>+--------------+------------+---------------+
>| max(id) | fecha      | Inventario |
>+--------------+------------+---------------+
>|          910 | 2005-04-12 |           245 |     <---- la fecha
>debiera ser 2005-04-15
>|          876 | 2005-04-12 |           244 |
>|          848 | 2005-04-08 |           243 |
>|          834 | 2005-04-12 |           242 |
>|          833 | 2005-04-12 |           241 |
>|          832 | 2005-04-12 |           240 |
>|          831 | 2005-04-12 |           239 |
>|          830 | 2005-04-08 |           238 |
>|          918 | 2005-04-07 |           237 |
>|          921 | 2005-04-06 |           236 |
>+--------------+------------+---------------+
>
>.. con este query logro obtener el máximo id con un unico nro de
>inventario pero la "fecha" no es coincidente con el registro del id
>(sino con uno anterior)
>
>... podrán guiarme un poco?
>
>gracias.
>Tipler..
>
>  
>
y que tal un :

SELECT DISTINCT Inventario, fecha, id FROM tabla ORDER BY Inventario 
DESC, fecha DESC

saludos


Más información sobre la lista de distribución Linux