2011-08-08 10 views
0

私はmysqlで新しいです。私は2つのmysqlテーブル会社の情報を持っています。 1番目の表はシード、名前、分類、住所、市、電話、都道府県であり、2番目の表はです。情報はです。彼らはcompany.cid = info.cidの関係にあります。私は、それぞれの会社が表示する情報の合計を持っていますので、その文にCOUNTを追加したいmysqlクエリでMAXとCOUNTを一緒に使用する

SELECT *, MAX(infodate) 
FROM company 
JOIN info ON company.cid = info.cid 
WHERE classification = 'Hotel' 
GROUP BY name 
ORDER BY MAX(infodate) DESC 
LIMIT 0,7 

を使用していました。ありがとうございました。

答えて

-1

を取得するには、この

SELECT SQL_CALC_FOUND_ROWS *, MAX(infodate) 
FROM company 
JOIN info ON company.cid = info.cid 
WHERE classification = 'Hotel' 
GROUP BY name 
ORDER BY MAX(infodate) DESC 
LIMIT 0,7 

を試してみて:

SELECT *, MAX(infodate), COUNT(*) as count 
+1

このクエリは一貫性のない結果セットを返します( 'GROUP BY'のクエリで' * 'が意味をなさないとすぐに) – zerkms

+0

うまくいきます!ありがとう...私はstackoverflowが好きです... –

0

あなたがこれを行うとどうカウント使用

$total = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()")); 
$total = $total[0]; 
0

SELECT company.*, COUNT(info.information) 
    FROM company JOIN info ON company.cid = info.cid 
    WHERE classification = 'Hotel' 
    GROUP BY company.cid 
    ORDER BY MAX(info.infodate) DESC 
    LIMIT 0,7 
これを試してみてください
+0

でも、 countは7に制限されています.LIMITを使用すると、COUNTは一致するすべての行数を返しません。 – avetarman

関連する問題