複数の選択がある場合、SQL_CALC_FOUND_ROWSを使用するにはどうすればよいですか?

1
Sandro Benevides 2019-07-11 14:53.

SQL_CALC_FOUND_ROWS()を使用するページネーションコードに取り組んでいますが、ページあたりの結果を合計結果よりも少ない数に制限すると、「SELECT FOUND_ROWS()as total」は、合計ではなくページあたりの要素数を返します。見つかった行の。2番目の選択から選択を行っているので、この結果は完全に理にかなっていますが、これを解決する方法がわかりません。合計結果を内部から外部の選択に渡すにはどうすればよいですか?

私のコード(phpエスケープの引用符は無視してください):


SELECT SQL_CALC_FOUND_ROWS userid,contaTipo,userNome,nomeFantasia,sexo,cidade,estado,bairro,imovelN,logradouro,avaliacao,imagem,formasPagamento,estabelecimento,profissao 

FROM 

(SELECT vw_Busca.userid as userid, vw_Busca.contaTipo as contaTipo, vw_Busca.userNome as userNome, 
vw_Busca.nomeFantasia as nomeFantasia,vw_Busca.sexo as sexo, vw_Busca.cidade as cidade, vw_Busca.estado as estado, vw_Busca.bairro as bairro, 
vw_Busca.imovelN as imovelN,vw_Busca.logradouro as logradouro,tipoProfissionalPF.tipo as profissao, tipoProfissionalPJ.tipo as estabelecimento,
vw_userRating.total as avaliacao, GROUP_CONCAT(especialidades.especialidade SEPARATOR ', ') as especs,
vw_Busca.imagem as imagem, GROUP_CONCAT( DISTINCT userPagamento.formaPagamento SEPARATOR ', ') as formasPagamento

    FROM vw_Busca 

LEFT JOIN usersEspec ON usersEspec.userid=vw_Busca.userid 
LEFT JOIN especialidades ON especialidades.id=usersEspec.especialidade 
LEFT JOIN userPagamento ON userPagamento.userid=vw_Busca.userid 
LEFT JOIN profissionais ON profissionais.userid=vw_Busca.userid
LEFT JOIN tipoProfissionalPF ON tipoProfissionalPF.id=profissionais.profissao 
LEFT JOIN empresaDados ON empresaDados.userid=vw_Busca.userid
LEFT JOIN tipoProfissionalPJ ON tipoProfissionalPJ.id=empresaDados.tipoProfissionalPJ
LEFT JOIN vw_userRating ON vw_userRating.userid=vw_Busca.userid 

WHERE vw_Busca.cidadeId='$cidade' AND (vw_Busca.userNome LIKE '%".$termo."%' OR 
    vw_Busca.nomeFantasia LIKE '%".$termo."%' OR vw_Busca.tags LIKE '%".$termo."%')

    GROUP BY userid LIMIT $inicio,$qtd) as mainTable

     ORDER BY mainTable.avaliacao DESC

1 answers

1
Kishore Kirdat 2019-07-11 22:10.

外側の選択は、内側のクエリから返された結果を並べ替えているだけのようです。内部クエリはすでにLIMITを適用しているため、外部クエリは実際には部分的な結果に対して並べ替えを実行していますが、これは私には正しくないようです。だから私はあなたがあなたの問題を解決するであろう外側の選択を完全に取り除くことができると思います。

ちなみに、SQL_CALC_FOUND_ROWSクエリ修飾子とそれに付随するFOUND_ROWS()関数は、ドキュメントに従ってMySQL8.0.17で非推奨になっていることに気づきました。

Related questions

MORE COOL STUFF

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは、夫に会ったとき、典型的な交際のアドバイスに逆らいました。

マイケルシーンが非営利の俳優である理由

マイケルシーンが非営利の俳優である理由

マイケルシーンは非営利の俳優ですが、それは正確にはどういう意味ですか?

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

特徴的なスターのコリン・エッグレスフィールドは、RomaDrama Liveでのスリル満点のファンとの出会いについて料理しました!加えて、大会での彼のINSPIREプログラム。

「たどりつけば」をオンラインでストリーミングできない理由

「たどりつけば」をオンラインでストリーミングできない理由

ノーザンエクスポージャーが90年代の最も人気のある番組の1つになった理由を確認するには、Blu-rayまたはDVDプレーヤーをほこりで払う必要があります。

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖は、世界で2番目に大きいボイリング湖です。そこにたどり着くまでのトレッキングは大変で長いですが、努力する価値は十分にあります。

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

サロンからのヘアトリミングや個人的な寄付は、油流出を吸収して環境を保護するのに役立つマットとして再利用できます。

ポルシェは今週、ルマンプロトタイププログラムをシャットダウンします:レポート

ポルシェは今週、ルマンプロトタイププログラムをシャットダウンします:レポート

写真提供者:Sportscar365が引用した複数の出版物や業界筋によると、ポルシェポルシェは、トップクラスの919ハイブリッドルマンプロトタイププログラムの終了を24時間以内に発表します。これにより、世界耐久選手権のトップLMP1クラスは、チームが1つだけになり、将来は不透明になります。

「実際の何と同じように」:InstaStoryはThunderboltをCupcakesとCashmereコミュニティの中心に撃ち込みます

「実際の何と同じように」:InstaStoryはThunderboltをCupcakesとCashmereコミュニティの中心に撃ち込みます

@thehyperbalistによるスクリーンショット。人気のライフスタイルブログCupcakesandCashmereの元従業員であるAlinaGonzalezが、彼女の解雇の状況を公にハッシュするために私が個人的に見た中で最も長いInstagramストーリーの1つをリリースしました。

ニース:木星には69の衛星があります

ニース:木星には69の衛星があります

AP経由の画像。あなたは新しいものを発見するのに年を取りすぎていることは決してありません。そして私たちは皆、木星が衛星で69歳になっているという発見に喜びを感じています。

今日のベストライフスタイルのお得な情報:ミッションアクティブウェア、エバーレーン、BHコスメティックスなど

今日のベストライフスタイルのお得な情報:ミッションアクティブウェア、エバーレーン、BHコスメティックスなど

割引されたASOSサマースタイル、AmazonのMission Activewear、Everlaneからの2日間の無料配送など、月曜日の最高のライフスタイルのお得な情報をお届けします。Kinjaのお得な情報をブックマークして、Twitterでフォローしてお得な情報を見逃さないでください。

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

イーサン プラスの誕生日のお祝いは、TLC のウェルカム トゥ プラスビルのシーズン 4 のフィナーレで、戦争中の母親のキム プラスと妻のオリビア プラスを結びつけました。

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

ケイト・ミドルトンはロンドンの水辺で一日を過ごし、さらにジェニファー・ロペス、ジュリアン・ハフなど

ケイト・ミドルトンはロンドンの水辺で一日を過ごし、さらにジェニファー・ロペス、ジュリアン・ハフなど

ケイト・ミドルトンはロンドンの水辺で 1 日を過ごし、ジェニファー・ロペス、ジュリアン・ハフなども。ハリウッドからニューヨークまで、そしてその間のあらゆる場所で、お気に入りのスターの活躍をご覧ください!

ウィスコンシン川でのナイフ攻撃で 17 歳の少年が刺されて死亡、他の 4 人が負傷したままになっている

ウィスコンシン川でのナイフ攻撃で 17 歳の少年が刺されて死亡、他の 4 人が負傷したままになっている

捜査官は、グループと容疑者が攻撃の前にお互いを知っていたかどうかを調べています

書き方

書き方

私にとって、すべてはその最初の行とそれがあなたをどこに連れて行くかについてです. プロットやチェスの駒の繊細な配置に突き動かされる作家もいれば、登場人物や新しい架空の友人との旅に出る能力に引き込まれる作家もいます。

滑走路着陸

滑走路着陸

晩夏と秋はノスタルジックな季節。街灯は雨で濡れた通りに光を放ち、足元の葉 - 夕暮れの影の中で落ち着いた赤オレンジ - は過ぎ去った日々を思い出させます。

実際に変換するコンテンツ戦略を作成することを想像してみてください。それが可能だ。

実際に変換するコンテンツ戦略を作成することを想像してみてください。それが可能だ。

2021 年には、サービスを提供する顧客と顧客に伝えるストーリーについて知っていることをすべて再考することをお勧めします。あとずさりする。

マンモスロスは私の心を愛に開いた

マンモスロスは私の心を愛に開いた

フェリックス ザ キャットの 9 歳の誕生日の日に、大人になってからの最大の損失の 1 つである 2013 年のソフィーを思い出します。私はこのエッセイを書き、2013 年にこのプラットフォームで簡単に共有しました。

Language