20

グループ化による内部結合からカウントを選択するにはどうすればよいですか?

SELECT COUNT(table1.act) FROM table1
INNER JOIN table2 ON table1.act = table2.act
GROUP BY table1.act

これは、table2 で見つかった行為の数を返します。

追加する

 SELECT table1.act, COUNT(table1.act) AS test

戻り値

act     test
------- ----
17682   3
17679   3
17677   3
11636   1
11505   1

actの総発見数を受け取りたいです。

だから私は5を手に入れたい. 助けてもらえますか?

4

5 に答える 5

31

そのクエリを別のクエリにラップできます。

SELECT COUNT(*) FROM (
    SELECT COUNT(table1.act) AS actCount FROM table1
    INNER JOIN table2 ON table1.act = table2.act
    GROUP BY table1.act
) t
于 2012-05-06T23:45:42.627 に答える
7

個別のカウントを使用

SELECT COUNT(distinct table1.act) FROM table1
INNER JOIN table2 ON table1.act = table2.act
于 2012-05-06T23:48:45.813 に答える
1
SELECT COUNT(table2.act) FROM table1
INNER JOIN table2 ON table1.act = table2.act
于 2012-05-06T23:45:54.263 に答える
1

結果のカウントだけが必要な場合は、

SELECT     COUNT(1)
FROM       table1
INNER JOIN table2 ON table1.act = table2.act
GROUP BY   table1.act

それはあなたに与えるべきです

于 2012-05-06T23:47:06.277 に答える