多くの情報を出力するSQLクエリがあります。私がする必要があるのは、出力テーブルの情報をグループ化して要約することです。これが私がやろうとしていることの例です:
name val1 val2 val3 total Run
some name 18 4 1 23
some name 5 4 1 23 2
some name 13 8 2 23 1
other name 2 2 0 4 1
and name 2 42 1 45 1
データベースから入ってくる名前は、複数回表示される場合があります。そうであれば、それらの項目をグループ化し、その上に同じ名前を持つが合計も計算する概要行を追加します。
- Val1 を一緒に追加する必要があります
- Val2、Val3 は、RUN セルの最大値を持つ行と同じでなければなりません
- 合計値は常に同じです。
出力テーブルには、このようなグループ化が複数発生します。私は自分の質問をグーグルで検索しようとしましたが、私が探していたものに最も近いのはこれでした: jQuery を使用してテーブルの真ん中に行を追加する方法は? これは私が実際に行っていることではありません。
それを行うために使用できるSQLコマンドがあるかどうか、またはphpまたはjqueryを使用して実行できるかどうかはわかりません。任意の提案をいただければ幸いです。
ありがとうございました!
アップデート:
SQL で GROUP BY を使用しようとしましたが、構文エラーが発生します。
SELECT name, val1, val2, val2, run
FROM tableName
WHERE ... ORDER BY name DESC GROUP BY name
(WHEREを気にしないでください...実際にそこにステートメントがあります)。実際にクエリをグループ化したのは、クエリに 2 つまたは 3 つの結果があり、3 つすべてが同じ名前である場合だけです。したがって、GROUP BYはオプションではありません。
PHPでは、名前を変数に保存し、名前が同じかどうかを確認しています。同じでない場合はマスタークラスを行に追加し、そうでない場合はクラスが子であるため、グループ化に役立ちます。ただし、上に要約行を追加する方法がわかりませんでした。
名前が変更されるたびに空白行が追加され、ページが読み込まれた後に jquery を使用してデータが入力されると考えていましたが、名前が 1 回だけ出現する場合は要約は必要ありません。
要約行の Val3 については、上記の変更を加えました。Val3 は、実行値が最大の行の val3 と同じになります。私は自分の例に混乱していたと思います。
この情報がより役立つことを願っています。