2017-03-21 9 views
1

で数カウント今、私はと1つのSQLクエリ

select data.* from 
complicated select with 100 joins 
as data 

を持っていると私はそれが

select data.*, count(*) as total from 
complicated select with 100 joins 
as data 

になりたいが、二つ目は、その、機能していません1つの結果とその中の総数を返すだけです。

私が望むのは、すべての結果(すべてのフィールドを含む)と、すべての結果の1つのフィールドとしての合計数を返します。

1)SQL_CALC_FOUND_ROWSとあなたのクエリです:

result.field1 = XX result.field2 = XX ..... result.total = 1000000、

答えて

0

あなたは2つのクエリを行う必要があります:

SELECT SQL_CALC_FOUND_ROWS data.* FROM 
complicated select with 100 joins 
as data; 

2)を算出見つかった行を取ることである。

SELECT FOUND_ROWS() AS count; 

より詳細なhere



BONUS:あなたはSequelise ORMを使用している場合は、あなたがモデルとあなたのロジックを短縮findAndCount方法を使用することができることを知っている必要があります。お読みくださいthis article

関連する問題