0

こんにちは私はこのようなクエリが必要です

    従業員からcount(id)を選択します。ここで..=>はcount1=10を与えます

    emplyerからcount(id)を選択します。ここで..=>はcount2=5を与えます

    ユーザーからcount(id)を選択します。ここで..=>はcount3=20を与えます

これらの結果を次のように追加できます

    count = count1 + count2 + count3;

しかし、これらの結果を個別に追加するのではなく、単一のクエリを使用してカウントを取得するオプションがあるかどうかを知りたいです。また、アプリケーションのパフォーマンスの場合、どちらが最善の方法であるかを知りたいです。

4

2 に答える 2

3

できるよ

SELECT ((select count(id) from employee where..) + (select count(id) from emplyer where..) + (select count(id) from users where..))

パフォーマンスの違いはほとんどありません。3つの整数を追加することは、MySqlにとってもphpエンジンにとっても課題ではありません。

于 2011-08-16T09:00:30.647 に答える
0

group by 句を使用する場合は、グループ内のすべてのカウントの合計を返すオプション WITH ROLLUP を追加できます。http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.htmlを参照してください。

于 2011-08-16T10:02:44.640 に答える