But I'd prefer not to see the extra sorting field.

Keith

On Tue, 2010-04-27 at 15:49 -0700, Gavin Towey wrote:
> That won't work on a value like "$1.00"
> 
> select CAST('$1.00' as decimal(8,2));
> +-------------------------------+
> | CAST('$1.00' as decimal(8,2)) |
> +-------------------------------+
> |                          0.00 |
> +-------------------------------+
> 1 row in set, 1 warning (0.00 sec)
> 
> 
> +---------+------+--------------------------------------------+
> | Level   | Code | Message                                    |
> +---------+------+--------------------------------------------+
> | Warning | 1292 | Truncated incorrect DECIMAL value: '$1.00' |
> +---------+------+--------------------------------------------+
> 1 row in set (0.00 sec)
> 
> 
> It would have to be something like:
> 
> select CAST(REPLACE('$1.00','$','') as decimal(8,2)) ;
> +-----------------------------------------------+
> | CAST(REPLACE('$1.00','$','') as decimal(8,2)) |
> +-----------------------------------------------+
> |                                          1.00 |
> +-----------------------------------------------+
> 1 row in set (0.00 sec)
> 
> 
> Which in that case, it's better to just select balance without the dollar 
> sign and order on that column.
> 
> Regards,
> Gavin Towey
> 
> -----Original Message-----
> From: DaWiz [mailto:da...@dawiz.net]
> Sent: Tuesday, April 27, 2010 3:46 PM
> To: Keith Clark; mysql@lists.mysql.com
> Subject: Re: order by numeric value
> 
> Try
> 
> order by CAST(Balance as decimal(8,2)) asc;
> 
> 
> Cast will work in the order by.
> 
> Glenn Vaughn
> 
> ----- Original Message -----
> From: "Keith Clark" <keithcl...@k-wbookworm.com>
> To: <mysql@lists.mysql.com>
> Sent: Tuesday, April 27, 2010 3:52 PM
> Subject: order by numeric value
> 
> 
> >I have the following statement:
> >
> > select chart_of_accounts.accountname as Account,
> > concat('$',format(coalesce(sum(sales_journal_entries.debit),0),2)) as
> > Debit,
> > concat('$',format(coalesce(sum(sales_journal_entries.credit),0),2)) as
> > Credit,
> > concat('$',format(coalesce(sum(sales_journal_entries.credit),0)-coalesce(sum(sales_journal_entries.debit),0),2))
> > as Balance
> > from sales_journal_entries
> > left join sales_journal
> > on sales_journal.journalID=sales_journal_entries.journalID
> > left join chart_of_accounts
> > on chart_of_accounts.accountID=sales_journal_entries.accountID
> > where sales_journal.date > '2008-12-31'
> > and sales_journal.date < '2010-01-01'
> > group by sales_journal_entries.accountID
> > order by Balance asc;
> >
> > and I'd like the output to be sorted by the Balance according to the
> > numberic value, but it is sorting by the string result.  I tried
> > abs(Balance) but I get the following error:
> >
> > 1247 Reference 'Balance' not supported (reference to group function)
> >
> > I'm not sure I understand the error.
> >
> >
> > --
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe:    http://lists.mysql.com/mysql?unsub=my...@dawiz.net
> 
> This message contains confidential information and is intended only for the 
> individual named.  If you are not the named addressee, you are notified that 
> reviewing, disseminating, disclosing, copying or distributing this e-mail is 
> strictly prohibited.  Please notify the sender immediately by e-mail if you 
> have received this e-mail by mistake and delete this e-mail from your system. 
> E-mail transmission cannot be guaranteed to be secure or error-free as 
> information could be intercepted, corrupted, lost, destroyed, arrive late or 
> incomplete, or contain viruses. The sender therefore does not accept 
> liability for any loss or damage caused by viruses or errors or omissions in 
> the contents of this message, which arise as a result of e-mail transmission. 
> [FriendFinder Networks, Inc., 220 Humbolt court, Sunnyvale, CA 94089, USA, 
> FriendFinder.com



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to