Solved

# ORDER BY PROBLEM 10G

Posted on 2011-02-23
217 Views
Hi,

I have a sort  problem  my queries on 10g.

0
Question by:venomx_
• 5
• 2
• 2
• +2

LVL 76

Expert Comment

I'm afraid we'll need a little more information before we can respond.

Maybe the queries, a brief description of the problem?  Something.
0

Author Comment

I used to 8.1.5 i didn't have order by problem but I  use 10g I have a peroblem. Query output did not order by sorting. is this optimizer problem?
0

LVL 7

Expert Comment

Can you provide an example query? There were changes in Oracle's GROUP BY algorithm which no longer produced sorted output, but it was never guaranteed to anyway without an ORDER BY.
0

LVL 76

Expert Comment

Does the query have an order by?
What are the columns that aren't being sorted properly?
What changed?
0

Author Comment

select x from yyy group by xx;

xx
----------
3513
353
611
583
631

select x from yyy group by xx order by xx;

xx

-------

011
012
014
015
016
021
032
044
051
0

LVL 76

Accepted Solution

slightwv (䄆 Netminder) earned 500 total points
As mentioned, the only way to guarantee a specific order is use 'order by'.

You also need to take into account an ASCII sort and number sort.
0

LVL 40

Expert Comment

There is no ordering between the records in a table. You have to provide the ORDER BY clause to display the result set in an order. Otherwise there is no guarantee that records will display in same order every time.
0

LVL 76

Expert Comment

Sharath_123,

Thanks for the post however this has already been mentioned twice before.  Please review previous posts before posting.
0

LVL 3

Expert Comment

Your query seems to be sorted just fine, but here are some considerations:
1. sorting character fields containing number may not sort exactly the way you want or expect, experiment with your results
2. if you want to sort backwards, use the DESC keyword after the field name, in this example, your fieldname is xx: "sort by xx desc"
3. If you have a character field that REALLY contains ONLY numbers and you want to sort as if they were numbers, you can use to_number(xx).... "order by to_number(xx)"

If none of what I said helps you, then you really need to post the problem that you are having and a real example query that actually shows your problem. :-)
0

LVL 76

Expert Comment

>>Your query seems to be sorted just fine,

It's been posted a lot:  The only way to ensure an order of data in Oracle is with an "ORDER BY".
0

LVL 3

Expert Comment

>>It's been posted a lot:  The only way to ensure an order of data in Oracle is with an "ORDER BY".

Mmm.. I never told him to use order by... he is already using it and seems to be complaining that its not working the way he wants to; (except he didn't explain what, exactly, his problem is) so I sugested ways in which to use his order by's...
0

## Join & Write a Comment Already a member? Login.

### Suggested Solutions

I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.

#### 728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

#### Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!