[wp-hackers] group by in SQL queries
Peter Westwood
peter.westwood at ftwr.co.uk
Mon Jan 14 18:05:00 GMT 2008
On 14 Jan 2008, at 15:07, Johannes Ruthenberg wrote:
> Hi Otto!
>
> Otto schrieb am 14.01.2008 14:23:
>> I don't get it. If the order is explicitly defined as ORDER BY
>> post_date DESC, why would they come back in a different order? How
>> they are grouped shouldn't make any difference.
>> If this behavior is actually occurring due to this, then it seems
>> that
>> it should be reported as a bug in MySQL.
>
> As far as I have understood it (and I'm by no means an SQL guru, so
> I could be wrong here), the GROUP BY has preference over the ORDER
> BY. Once the result is grouped, it would be ordered within each
> group. Now the ID column is an auto-increment column, so each group
> consists of only one post and therefore it doesn't get ordered.
>
> Previously, MySQL apparently knew that a GROUP BY on an auto-
> increment column doesn't make sense and optimized it away. With the
> new MySQL version this doesn't happen anymore. I don't know if this
> a MySQL bug, but even if it is it has an effect on WordPress that's
> rather severe. And we can't tell the usual user to upgrade his
> MySQL, because that's usually done by the provider in rather larger
> intervals.
>
> After having a quick look at the change log[1], I think it's this
> change that causes this effect:
> http://bugs.mysql.com/bug.php?id=30596
>
> Greetings,
> Johannes
>
>
> [1] http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-51.html
>
If you read this you can see at the bottom in links to [2] where a
fix to this issue was introduced for mysql 5.0.52.
So we shouldn't need to do anything - this is a straight mysql bug!
westi
--
Peter Westwood
http://blog.ftwr.co.uk | http://westi.wordpress.com
C53C F8FC 8796 8508 88D6 C950 54F4 5DCD A834 01C5
More information about the wp-hackers
mailing list