MYSQLに問題があります。 SQL_CALC_FOUND_ROWSおよびFOUND_ROWS()が正しく動作していません。MYSQL。 SQL_CALC_FOUND_ROWSおよびFOUND_ROWS()が正しく動作していません
問題:
- 初めてトータルリターン1
- 二度目トータルリターン正しい 数3,500
MySQLバージョン:14.14按分5.7版
のMySQL。 10、EditLineラッパーを使用するosx10.9(x86_64)の場合
テーブルからリストを返そうとしていますが、そのリスト内の別の列が各行に対して繰り返されます。 (選択の合計行を含む)。
私はいずれかを選択してすべてのデータと合計行を取得することができますこの方法...
選択は以下の通りです。
SELECT SQL_NO_CACHE SQL_CALC_FOUND_ROWS * FROM
(SELECT A.MEMBER_ID, A.USERNAME, B.ZIP, B.INTERESTS, C.ADDRESS
FROM MEMBER A, DATA B, ADDRESS C
WHERE A.GENDER = "F"
AND A.MEMBER_ID = B.MEMBER_ID
AND A.MEMBER_ID = C.MEMBER_ID
AND UPPER (A.CANCEL_FLAG) = "N"
ORDER BY A.LAST_LOGIN_DATE DESC) res,
(select FOUND_ROWS() as "total_result" from dual) tot
Limit 1, 15
1)は内側のSELECTまたはクロージングべきで正しいBY ORDERですか「)」? 2.)テーブルの種類と構造について少し詳しく知っていますか? – sebkrueger
なぜORDER BYの前に ")"が必要でしょうか? 2))?テーブルは基本テーブルです。私は彼らに特別なことはないと思う。私はテーブルからリストを返そうとしています。そして、各行ごとに繰り返される別の列を返します。合計行を含んでいます。この方法で、1つの選択ですべてのデータと合計行を取得できます。 – philipfwilson
'select FOUND_ROWS() 'は最後のselectで見つかった行の数を示し、現在の行ではありません。あなたが見ているのは期待される結果です。 –