2011-06-23 27 views
1

私はかなり正常なルーチンをやっていますが、私の出力が正しくなるまでには苦労しています。MySQL関連のテーブルCOUNT()とGROUP BY

私は2つのテーブル: * ads_list *(listings)と* ads_cate *(categories)を持っています。

私は現在、それほどのような私のカテゴリのリストを表示しています:私は達成しようとしています何

SELECT id, cateName FROM ads_cate ORDER BY cateName 

:この形式では、各カテゴリ内のすべての項目の数:

カテゴリー|

SELECT 

ads_cate.id, 
ads_cate.cateName, // Category Name 

ads_list.id, 
ads_list.COUNT(title), // Title of ad 
ads_list.Category // Relational Category ID INT(11) 

FROM 

ads_cate, 
ads_list 

GROUP BY cateName 
ORDER BY cateName 

私は、すべての必須フィールドに呼び出し、実行しています:広告

CATEGORYNAME 56

これは私の現在のコードあり、そして私の配列には何も出力を微調整しないが、取得されている数私のタイトル欄のCOUNT()は各広告ごとに一意であるため、正しいと思われるcateNameでグループ化しています。

答えて

1

これが何であるかをご覧ください。私はそれがあなたが必要とするものだと思います。

SELECT 
ads_cate.cateName, // Category Name 
COUNT(ads_list.id), // Title of ad 
FROM 

ads_cate 
INNER JOIN 
ads_list 
ON ads_cate.id = ads_list.category 

GROUP BY cateName 
ORDER BY cateName 
+0

NullRef、私はJOINがおそらく私の方程式で非常に重要であると思う。 ads_list.COUNT(ads_cate.id)をads_list.COUNT(ads_list.title)に変更しましたが、私はまだ同じ問題に直面しています。私はprint_r()にこのクエリのための出力を得ることができません?元のクエリを実行すると出力が得られます。私が変わっていると思うのは、質問だけです。私はそれがクエリであることを確認するためにテストしました。私の新しいクエリの何かがテーブルのデータを取得していない..私は謎です。 – OldWest

+0

NullRef、あなたのヒントありがとう!私は別の問題で新しいスレッドを作成する必要があると思う。私が実行しているMySQLのバージョンはCOUNT()が好きではないようです! – OldWest

+0

@OldWest幸運。あなたの新しい投稿を探します。 – NullRef

関連する問題