2017-08-23 9 views
1

に1行を返す:クエリは、私は次のクエリを実行すると、私は最初の行だけを取得MySQLの

SELECT 
u.name AS Firstname, u.lastname AS Lastname, count(DISTINCT(p.id)) AS Count 
FROM 
projects p 
INNER JOIN users u ON p.user_fk = u.id 
order by user_fk; 

を私は2つのテーブル、プロジェクトおよびユーザーを持ち、プロジェクトのテーブルは、私が使用していたユーザIDを持っていますユーザーテーブルから名前を取得します。私はその後、各ユーザーに固有のプロジェクトがいくつあるのかを見て、各ユーザーのプロジェクトの量を表示したいと考えています。

答えて

2

あなたはgroup byが必要になります。それはGROUP BYに集約していないされていないSELECTの列を持っているので、他のほとんどのデータベースで

SELECT u.name AS Firstname, u.lastname AS Lastname, 
     count(DISTINCT p.id) AS Count 
FROM projects p INNER JOIN 
    users u 
    ON p.user_fk = u.id 
GROUP BY u.name, u.lastname 
order by user_fk; 

、あなたのクエリは、エラーが返されます。私はMySQLがデフォルトの動作に向かって動いていると思います。

+0

彼はすでに1つの行を取得しています。不明な質問。 – tilz0R

関連する問題