[thesite] database: content table
rudy
r937 at interlog.com
Fri May 25 22:05:55 CDT 2001
> Now, I'm assuming [the replies column in the content record] was
> added to avoid a count(replies.commentid) (and joining the
> replies table at all) in the "Most Commented On" box.
hi matt
i think it was originally conceived just to show the count on the synopsis
on the home or category or search result page... but you're right, the
purpose is to avoid the join
the column is updated every time a comment is added to an article
>select
> content.contentid, replies, categoryid, contentname,
>max(replies.datemod)
>from
> content,
> replies
>where
> replies > 13
> and contentid <> 3509
> and replies.contentid=content.contentid
>order by replies.datemod, replies desc
close
any time you have an aggregate function in the select list, along with one
or more other columns, then you must have a group by clause which contains
those other columns
the only time you don't need a group by is if the select list contains only
aggregate functions, then of course you get one row for the result set
please ask for examples if you want them
as to your query, matt, what exactly is it you're looking for? if all you
want is the highest date, at the same time as retrieving the other stuff
about an article, then you probably want to use something like this
(caution: not tested) --
select
contentid, replies, categoryid, contentname,
(select max(datemod) from replies
where contentid = content.contentid) as lastcommentdate
from
content
where
replies > 13
and contentid <> 3509
where did you get the (arbitrary?) number 13 from? i know you are
selecting articles with more than 13 comments, but why 13
and what's contentid <> 3509? (sorry, i'm too lazy to go into the database
to look...)
rudy
More information about the thesite
mailing list