問題タブ [mysql-variables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPでカーソルを使用してストアドプロシージャを実行する
PHPから呼び出そうとするストアドプロシージャがあります。ストアド プロシージャは次のとおりです。
mysql ワークベンチで直接呼び出すと機能します。phpでは動作しません。これが私のphpです:
このように接続すると、次のエラーが表示されます
私は自分の問題$data = $result->fetch_assoc()
を. という理由で機能していないという結論に達しました。print_r
mysqli_result Object ( [current_field] => 0 [field_count] => 9 [lengths] => [num_rows] => 0 [type] => 1 )
[num_rows] => 0
ここで、ストアド プロシージャに戻ります。カーソルに関するすべての言及を取り出し、それをハードコードされた値に置き換えたところ、ワークベンチと php の両方で機能しました。PHP 経由で接続しているユーザーにアクセス許可があること、接続が開いていること、同じコードが他のストアド プロシージャ (カーソルを含まないもの) を実行できることを既に確認しました。これは、php によって呼び出されているストアド プロシージャでカーソルを使用できないということですか? カーソルに代わるものはありますか? カーソルを処理するための PHP 構文に何か不足がありますか?
mysql - mysqlグループ化された順位付け
だから私はこのようなテーブルにデータを持っています:
合計に基づいてグループごとの ID をランク付けし、同点の場合に同じランクを与えるにはどうすればよいですか?
以下でこの解決策を試しましたが、関係を処理しません。
期待される
mysql - エイリアス列を使用してこのクエリを高速化するにはどうすればよいですか?
SOでこのコードスニペットを見つけました。これは基本的に、MySQL の「row_number()」関数を偽造したものです。それは非常に高速に実行され、私はそれが好きで必要ですが、最後に where 句を付けることができません。
追加するwhere iterator = 875
とエラーになります。
上記のスニペットは、約 .0004 秒で実行されます。サブクエリとして別のクエリ内にラップできることはわかっていますが、非常に遅くなります。
上記のスニペットは、実行に 10 秒以上かかります。
とにかくこれをスピードアップするには?
mysql - 完全な結果セットではなく、特定の列に SQL 制限を適用する
以下の結果セットでは、2 人の一意のユーザー (id) が存在し、そのようなユーザーがクエリからさらに出てくる可能性があります。
マルチ結合クエリは次のとおりです。
このクエリから、そのようなユーザーが 50 人いるとします。ページネーションの目的で 10 の制限を適用すると、10 人のユーザーを取得することはできませんが、最初の 10 行のみを取得し、1 人または 2 人のユーザー データしか取得できません。
Q1: 特定の列に基づいて制限を設定するにはどうすればよいですか?
Q2: SQL limit 句を使用することは、ページネーションの正しいアプローチであり、エンド ユーザーの応答時間を改善することにもなりますか? そうでない場合、このシナリオで他に何が使用できますか?
mysql - グループ セットに属する個別の列の最大値に基づいてランク列を作成する
その part_id の build_steps の MAX 値に基づいて、order_id に関連付けられている各 part_id のランクを含むランキング列を作成する必要があります。新しい order_id が繰り返されるたびに、ランクを再開する必要があります。
次のフィドルがありますが、ランクが適切に作成されていません。
http://sqlfiddle.com/#!9/63d47/29
以下は私のクエリです
テーブル:
期待される結果:
現在のクエリ結果: