0
my fiddleを見ると、クエリを実行していて、一致するすべての行の数を結果セットと共に取得しようとしていることがわかります。MySQL:結果セットと一致するすべての行の数を取得する
私はLIMIT
とOFFSET
で改ページをやっているので、私はそれらの画分の結果セットを返すかもしれませんが、一致していたすべて行数を取得したいです。
私のクエリで何が問題になっていますか?
SELECT item.*, COUNT(item.id) AS _count
FROM item
JOIN user
ON user.username = "Lansana"
AND user.deleted_at IS NULL
JOIN user_item
ON user_item.item_id = item.id
AND user_item.user_id = user.id
AND user_item.deleted_at IS NULL
WHERE item.deleted_at IS NULL
GROUP BY item.id
ORDER BY item.id DESC
見つかり行は私が探しているものではありません。私は 'LIMIT'と' OFFSET'でページ区切りをしているので、結果の一部しか返さないかもしれませんが、一致したすべての行の数を取得したいと思います。編集した質問がより明確になる@Lansana。 – Lansana
。 。そして、 'SQL_CALC_FOUND_ROWS'は*あなたが探しているものです。あなたはその文書を読んだことがありますか? "2番目のSELECTは、LIMIT句なしで最初のSELECTが返す行数を示す数値を返します。 –
ああ、そうですよ!私はそれを間違って読んだ。本当にありがとう! – Lansana