Baffled by "Group By" - Please help!
For some reason, probably because I'm not understanding very well, I'm
getting some duplicated rows for this query (below).
My understanding is that "group by" brings all the rows together where the
indicated columns are equal and then applies the aggregate to the column
indicated; in this case: "sum".
What am I missing? I'm not seeing why this query doesn't group everything
and then return unique rows.
Please let me know if you need more info and I will send it.
SELECT
index_uri.uri,
index_uri.description,
index_uri.title,
index_type.type,
index_type.icon,
SUM(index.word_count)
FROM
index, index_word, index_uri, index_type
WHERE
(
index_word.word ~'eat.*' -- could be more or fewer
comparisons here.
OR index_word.word ~'disord.*'
)
AND
index_word.word_id=index.word_id
AND
index_uri.uri_id = index.uri_id
AND
index_type.type_id = index_uri.type_id
GROUP BY
index_uri.uri,
index_uri.description,
index_uri.title,
index_type.type,
index.word_count,
index_type.icon
ORDER BY
sum
DESC
Matt Friedman
"Matt Friedman" <matt@daart.ca> writes:
What am I missing? I'm not seeing why this query doesn't group everything
and then return unique rows.
Since you didn't show an example of the input and output, it's hard to
tell what your gripe is ... but I'll venture that you didn't want to
group by index.word_count. It doesn't make a lot of sense to group by
something you are using as an aggregate input.
regards, tom lane
Yeah, it was right under my nose. Figured it out just before I got your
email.
Thank you.
Matt Friedman
----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Matt Friedman" <matt@sprynewmedia.com>
Cc: "PgSql General List" <pgsql-general@postgresql.org>
Sent: Saturday, March 24, 2001 1:34 PM
Subject: Re: Baffled by "Group By" - Please help!
"Matt Friedman" <matt@daart.ca> writes:
What am I missing? I'm not seeing why this query doesn't group
everything
Show quoted text
and then return unique rows.
Since you didn't show an example of the input and output, it's hard to
tell what your gripe is ... but I'll venture that you didn't want to
group by index.word_count. It doesn't make a lot of sense to group by
something you are using as an aggregate input.regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)