Tengo una tabla como esta:
Código SQL:
Ver originalid | id_parc_cat | sub_sup |
------+-------------+---------+
4033 | 2785 | 41336 |
4036 | 2785 | 18620 |
4034 | 2785 | 20154 |
4035 | 2785 | 15612 |
4038 | 2785 | 228362 |
4032 | 1724 | 58571 |
4037 | 1724 | 23690 |
De esta tabla queiro que la consulta me muestre las filas con el campo sub_sup mayor para una misma id_parc_cat
Yo ahora lo resuelvo en dos pasos:
Código SQL:
Ver originalSELECT id, id_parc_cat, sub_sup, MAX(sub_sup) OVER (PARTITION BY id_parc_cat) FROM cultivos;
Esto me dará esta tabla:
Código SQL:
Ver originalid | id_parc_cat | sub_sup | MAX|
------+-------------+---------+------------------------
4033 | 2785 | 41336 | 228362
4036 | 2785 | 18620 | 228362
4034 | 2785 | 20154 | 228362
4035 | 2785 | 15612 | 228362
4038 | 2785 | 228362 | 228362
4032 | 1724 | 58571 | 58571
4037 | 1724 | 23690 | 58571
Esta selección la almaceno en una vista.
Y luego selecciono los registros donde sub_sup=MAX en la vista creada.
Pero el caso es que me gustaría saber cómo se puede hacer esta operación en un sólo paso.
Saludos y gracias como siempre