2009-06-15 8 views
0

私はこのクエリを持っていますが、これを実行できるかどうかわかりません。基本的に、私はカウントとグループごとに列をしています。しかし、私はカウントDESC/ASCを示したいと思います。彼らは異なるコラムなので、私はこれを達成できますか?ここに私のクエリです:MySQL複数のCOUNTグループ

SELECT flags.ID, flags.COMMENT_ID, flags.CONTENT_ID, flags.USER_ID, flags.WALLPOST_ID, flags.FLAGGED_BY, flags.DATE_FLAGGED, flags.PROD_ID, flags.STAGE_ID, COUNT(flags.COMMENT_ID) AS comment_count, COUNT(flags.CONTENT_ID) AS content_count, COUNT(flags.WALLPOST_ID) AS wall_count, COUNT(flags.USER_ID) AS user_count FROM flags LEFT JOIN comment ON (flags.COMMENT_ID=comment.ID) LEFT JOIN content ON (flags.CONTENT_ID=content.ID) LEFT JOIN sf_guard_user_profile ON (flags.USER_ID=sf_guard_user_profile.ID) LEFT JOIN wallpost ON (flags.WALLPOST_ID=wallpost.ID) GROUP BY flags.COMMENT_ID,flags.CONTENT_ID,flags.USER_ID,flags.WALLPOST_ID ORDER BY comment_count DESC,content_count DESC,wall_count DESC,user_count DESC LIMIT 1000 

基本的には、以下の結果を見ると、カウントを1つの列にまとめたいと思っています。そうすれば、私は改ページと並べ替えを簡単に行うことができます。

私は新しいStackOverflowユーザーですので、画像を投稿できません。ここにこのリンクがあります:http://i40.tinypic.com/2wbvxci.jpg

ありがとうございます!

答えて

2

カウントの一つだけではなく

COUNT(flags.COMMENT_ID) AS comment_count, COUNT(flags.CONTENT_ID) AS content_count, COUNT(flags.WALLPOST_ID) AS wall_count, COUNT(flags.USER_ID) AS user_count 

部分、例えば

として発現、そう有すること SELECTを変える、任意の所与の行について非ゼロになることをjpgから見えます
(COUNT(flags.COMMENT_ID) + COUNT(flags.CONTENT_ID) + COUNT(flags.WALLPOST_ID) + COUNT(flags.USER_ID)) AS total_count 

はあなたが望むものかもしれません。

+0

甘い!できます。 "+"実際に何をしていますか?私は学ぶことを試みている。 –

+0

グループ化された行ごとに1つの数に合計を集計します。 Btwは学習について話しています。スタックオーバーフローでは、良い回答をupvoteする必要があります(そして、あなたがそれを確認したら、答えを "the"として選択します)。 –