Thread

Index > Memecode > Stupid MySQL Bug
Author/Date Stupid MySQL Bug
fret
13/09/2005 2:29am
I noticed that all the threads we're being sorted against the date of the first post instead of the date of the last post. So I thought I'd go a fix it.

Turns out there is a pretty major bug in MySQL, where if you have some sql like:
select ParentPost, MAX(Date)
from forum_post
where forumid=2
group by ParentPost
order by date desc


The "MAX" function evaluates just one record, instead of the whole group created by the "group by" part of the command. If I take out the "where forumid=2" it starts to work. But I have to filter the results in PHP code afterwards. Slower but non-buggy.
claytas
12/09/2006 12:24am
Maybe too late, I only now stumbled on your site.

I would say the bug is that it didn't just say 'error'. Either alias the the expression, or put the aggregate in the group by. I am not so familiar with MySQL, mainly other SQLs.

select ParentPost, MAX(Date) as MAXDATE
from forum_post
where forumid=2
group by ParentPost
order by MAXDATE desc

select ParentPost, MAX(Date)
from forum_post
where forumid=2
group by ParentPost
order by Max(Date) desc
Reply