Group By con ORDER By en V7R1

40 pts.
Tags:
SQL
Hola, antiguamente en la V5R4, cuando escribiamos una sentencia SQl que utilizaba GROUP BY, el sistema solo ordenaba por los campos definidos dentro del GROUP BY, ahora , en la V7R1, no lo hace, y me obliga que escriba el ORDER BY y a continuacion los campos de Ordenamiento, cabe aclarar que el GROUP BY ordenado lo puedo hacer m oracle express, sqlserver express, sql de VFP y en todos los casos se ejecuta igual que en V5R4.
Alguien me podria confirmar esto, o es un problema con mi instalacion de V7R1 

Por favor, si me pueden contestar con copia a victor.velardez@gmail.com

Muchas Gracias 


Software/Hardware used:
i5 and V7R1

Answer Wiki

Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Discuss This Question: 7  Replies

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • carlosdl
    26021962: Voy a traducir lo que me parece entender de tu pregunta al Inglés, ya que de lo contrario dudo mucho que recibas una respuesta. Por otro lado, no enviamos respuestas a correo electrónico.  Todo se publica aquí en el sitio. Saludos,
    69,465 pointsBadges:
    report
  • carlosdl
    Here's the translated text: "On V5R4, when we wrote queries that included the GROUP BY clause, the system automatically ordered the results by the columns included in the GROUP BY, but now in V7R1, it doesn't, and I need to explicitly add an ORDER BY clause.  It is worth mentioning that this automatically ordered GROUP BY query can be done in Oracle express, SQL Server express, VFP, and it behaves as in V5R4. Could someone please confirm if this is the new expected behavior ?  Or could it be a problem with my V7R1 installation ? Thanks."
    69,465 pointsBadges:
    report
  • CharlieBrowne
    Thanks Carlos 
    41,380 pointsBadges:
    report
  • philpl1jb
    Thanks Carlos Everything between Hola and Muchas Gracias was a bit muddled.    In V5R4 it certainly looks like it orders on the Group By.  That is until there is more than one group by field, then it seems to be rather random until the order by clause is used.  In general selects deliver the data in a random order.      Phil
    49,950 pointsBadges:
    report
  • TomLiotta
    On V5R4 and every version and release, a result set only has a guaranteed order if an ORDER BY clause is specified. It is always possible for a result set to have an order that matches a GROUP BY, but it should always be considered a lucky accident.   And if it happens less under i 7.1, it's most likely due to code changes to bring more of the SQL standard and new extensions into the product. It shouldn't affect anything simply because statements should have always had an ORDER BY clause if ordering was desired.   Tom
    125,585 pointsBadges:
    report
  • carlosdl
    26021962, estas son las respuestas recibidas: Respuesta de philpl1jb: "En V5R4 ciertamente parece que el resultado se ordena por el GROUP BY.  Eso es así hasta que hay mas de un campo en el GROUP BY, entonces parece ordenar de forma aleatoria, hasta que la cláusula ORDER BY es usada.  En general, los SELECTS devuelven los datos en orden aleatorio."  Respuesta de TomLiotta: En V5R4 y cualquier otra version, un resultado solamente tiene un order garantizado si una cláusula ORDER BY es especificada.  Siempre es posible que un resultado tenga un orden que concuerde con el GROUP BY, pero eso debería siempre se considerado como un accidente de suerte.  Y si pasa menos en i 7.1, es muy probable que sea debido a cambios en el código para agregar mas del standard de SQL y nuevas extensiones al producto.  Esto no debería afectar nada, simplemente porque las sentencias siempre deberían haber tenido una clásula ORDER BY  si se deseaba recibir el resultado en un orden específico"  ---------------  Mi opinión personal: Concuerdo con Phil y Tom.  Si un orden específico es necesario, entonces es una buena práctica siempre especificarlo por medio de un ORDER BY, aunque sin incluirlo el resultado sea devuelto en el orden deseado.  En la compañía para la que yo trabajo se hizo una migración de Oracle 8i a 11g hace unos meses, y algunas aplicaciones tuvieron ciertos problemas porque las consultas que no tenían especificado un ORDER BY ahora en Oracle 11g devolvían el resultado en diferente orden.    Lo correcto es anticiparse a ese tipo de cambios, y siempre especificar el orden requerido.
    69,465 pointsBadges:
    report
  • carlosdl
    My previous comment, which included Phil's and Tom's answers' translation to Spanish seems to be in limbo.  It is visible from the outside but is missing here. :-(
    69,465 pointsBadges:
    report

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Thanks! We'll email you when relevant content is added and updated.

Following