Hola
Alguien sabe como puedo sacar el valor mas alto de una columna?, es decir tengo un campo con valores de fecha. necesito extraer el mas alto. habra alguna forma?
Atte
Mauricio
| |||
valor mas alto Hola Alguien sabe como puedo sacar el valor mas alto de una columna?, es decir tengo un campo con valores de fecha. necesito extraer el mas alto. habra alguna forma? Atte Mauricio
__________________ Dios es mas grande que tu problema :-) |
| |||
Select Max(fecha) from tabla;
__________________ escribiendo mi libro de AJAX |
| |||
gracias por responder. pero el problema es que en una tabla hay varios rut, y rut repetidos, entre los repetidos hay que sacar el mas antiguo. Atte Mauricio
__________________ Dios es mas grande que tu problema :-) |
| |||
Exactamente. estoy usando Orale 9i. Lei por ahi que la funcion GREATEST (valor1, valor2…)= Obtiene el mayor valor de la lista. pero como la uso dentro de un select? se me ocurre dentro de un cursor pero necesito que esto se demore cada vez menos. Atte Mauricio Muchas gracias por las respuestas.
__________________ Dios es mas grande que tu problema :-) |
| |||
Mira. se trata de un registro que tiene rut y fecha. la cosa es que estando repetidos hay que sacar el mas nuevo, o mas reciente. Gracias.
__________________ Dios es mas grande que tu problema :-) |
| ||||
Usa la clausula DISTINCT en el select: SELECT DISTINCT ...
__________________ http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux |
| ||||
No se si desees esta consulta: select rut,fecha from (select rut,fecha from prueba order by rut desc,fecha desc) where rownum=1
__________________ "Nada en mis manos traigo tan solo a tu cruz me aferro....." |
| ||||
Ahi va de nuevo, es rut asc: select rut,fecha from (select rut,fecha from prueba order by rut asc,fecha desc) where rownum=1 Ahora depende si rut es char o number.....
__________________ "Nada en mis manos traigo tan solo a tu cruz me aferro....." |
| ||||
Disculpa, no tome en cuenta algunas cosas: Si rut es number, no habra problemas, pero si es char o varchar2, entonces seria: select rut,fecha from (select rut,fecha from prueba order by to_number(rut) desc,fecha desc) where rownum=1 Al final rut es desc . Disculpas nuevamente, espero que te ayude y sea lo que quieres.....
__________________ "Nada en mis manos traigo tan solo a tu cruz me aferro....." |
| |||
mira esta es la query
Código:
hay 6 coincidencias, iguales, salvo por la fecha que una es mas antigua que las otras. select a. cuenta ,h.creacion ,h.actualizacion ,h.estado ,h.medio_pago from tabla1 a ,tabla2 h ,tabla3 g where a.CUST_COD = '3404968' and h.BILLACCT_ID = g.ROW_ID and g.X_INTEGRATION_ID = trim(a.CUST_COD)
__________________ Dios es mas grande que tu problema :-) |
| ||||
Por lo que veo, la fecha de creación esta en otra tabla, tabla1 y tabla2 se relacionan con cust_cod?. Si es asi, la consulta no tiene el join entre ambas tablas..... Mas o menos quieres como te pase la consulta???
__________________ "Nada en mis manos traigo tan solo a tu cruz me aferro....." |
| |||
es cierto, al principio trate de hacer la pregunta mas liviana para luego probar y adaptar a mi caso (ya que la query en realidad mide como un metro....) las relaciones estan ahí en forma correcta, ya que el resultado es el que espero. sin embargo fijate que a partir de esa relacion estoy tratando de extraer el mas nuevo. algo asi estoy pensando:
Código:
es decir a mi consulta agregarle una pequeña sub consulta que resuelva el problemaand h.CREATED in (select CREATED from siebel.S_PAY_METHOD order by CREATED desc) Eso es, espero ser mas claro. Atte Mauricio
__________________ Dios es mas grande que tu problema :-) |
| ||||
Bueno, la sub-consulta no te saca la fecha más alta, solo te la ordena de mayor a menor. Si quieres que la compare con la más alta, ahi usarias el SELECT MAX(CREATED) from siebel.S_PAY_METHOD, y solo te lo compararia con la fecha más alta. Mas o menos entiendo tu idea, y bueno, siempre toma en cuenta las sub-consultas, como te diste cuenta hice la sub-consulta para que me ordene de mayor a menor, tanto rut como fecha y de ahi saco la primera fila, pues puede darse el caso de que en la fecha existan dos registros mayores....
__________________ "Nada en mis manos traigo tan solo a tu cruz me aferro....." |
| ||||
como dicen es mejor usar una subconsulta
Código:
Si deseas obtener el valor mas bajo camias el MIN por MAX y dode dice "rowid >" lo cambias por "rowid <"SELECT columns_of_interest FROM table_name a WHERE rowid > ( SELECT min(rowid) FROM table_name b WHERE b.pk_column_1 = a.pk_column_1 and b.pk_column_2 = a.pk_column_2 );
__________________ Bien se puede recibir una puñalada sin adulación, pero rara vez se recibe una adulación sin puñalada ** *** |