FYI, I have now verified this bug (?) occurs in 4.0.23 as well. On Tue, 2005-01-04 at 15:03 -0800, John McCaskey wrote: > On Tue, 2005-01-04 at 17:43 -0500, Rhino wrote: > > ----- Original Message ----- > > From: "John McCaskey" <[EMAIL PROTECTED]> > > To: <mysql@lists.mysql.com> > > Sent: Tuesday, January 04, 2005 5:22 PM > > Subject: not all rows returned when using order by and null values? > > > > > > > See below: > > > mysql> (SELECT avg FROM event_log_5minute_20050104 WHERE > > > monitor_id=479139 AND monitor_server_id=1 AND timestamp >= > > > 20050104080000 AND timestamp < 20050105080000 order by avg); > > > +---------+ > > > | avg | > > > +---------+ > > > | NULL | > > > | NULL | > > > | NULL | > > > | NULL | > > > | NULL | > > > | 55854.1 | > > > | 55854.1 | > > > | 63566.8 | > > > | 70157.6 | > > > | 121185 | > > > | 128803 | > > > | 172269 | > > > | 320097 | > > > +---------+ > > > 13 rows in set (0.00 sec) > > > > > > mysql> (SELECT avg FROM event_log_5minute_20050104 WHERE > > > monitor_id=479139 AND monitor_server_id=1 AND timestamp >= > > > 20050104080000 AND timestamp < 20050105080000) order by avg; > > > +---------+ > > > | avg | > > > +---------+ > > > | NULL | > > > | 55854.1 | > > > | 55854.1 | > > > | 63566.8 | > > > | 70157.6 | > > > | 121185 | > > > | 128803 | > > > | 172269 | > > > | 320097 | > > > +---------+ > > > 9 rows in set (0.00 sec) > > > > > > mysql> > > > > > > As you can see, I have 13 rows that match the query, if I put the order > > > by in the brackets it works fine. But when moved outside of them it > > > fails. > > > > > > The reason I have the brackets is this is a dynamically generated query > > > and may span tables ie: > > > > > > (SELECT avg FROM event_log_5minute_20050104 WHERE monitor_id=479139 AND > > > monitor_server_id=1 AND timestamp >= 20050104080000 AND timestamp < > > > 20050105080000) UNION ALL (SELECT avg FROM event_log_5minute_20050105 > > > WHERE monitor_id=479139 AND monitor_server_id=1 AND timestamp >= > > > 20050104080000 AND timestamp < 20050105080000) order by avg; > > > > > > Am I missing something and this is expected behavior and not a bug? I'm > > > using 4.0.18, I haven't checked the changelogs yet, maybe its been > > > fixed. > > > > > Wow, that's just weird if you ask me ;-) It's as if you added a 'DISTINCT' > > to the SELECT when move the ORDER BY outside of the brackets - except for > > the fact that it returns BOTH of 55854.1 values. > > > > Sorry, I don't have any idea what is going on there or if it is a bug that > > has been fixed already. ;-) > > > > Yeah, thats exactly what it is like, and its causing my computations to > be corrupted. I haven't been able to come up with a good workaround > that doesn't result in a significant slowdown in my application (these > queries are run several million times daily... using a limit x,1 to > select the 95th or 99th percentile value, and then store it in another > table). > > If anyone else has ideas please comment! Thanks. > > > Rhino > > > -- > John A. McCaskey > Software Development Engineer > Klir Technologies, Inc. > [EMAIL PROTECTED] > 206.902.2027 > -- John A. McCaskey Software Development Engineer Klir Technologies, Inc. [EMAIL PROTECTED] 206.902.2027
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]