やや紛らわしいので、例を書き留めて出力を開始すると予想される方が簡単です。
次のようなテーブルがあります: (Unit1 - Unit2 列は、同じ一般的な形式で最大 30 列にまたがることができます)
| ID | Name | Unit1_left | Unit2_left |
| 1 | Tom | 50 | NULL |
| 2 | Tom | NULL | 1 |
| 3 | Tom | 45 | NULL |
| 4 | Dan | NULL | NULL |
私が選択しようとしているのは、次のようなテーブルです。
| Name | Unit1_left | Unit2_left |
| Tom | 45 | 1 |
| Dan | NULL | NULL |
それが行っているのは、名前でグループ化し、存在する場合は他の 2 つの列の最後の値を見つけようとすることです (存在しない場合は NULL を返します)。
私は他のさまざまな質問を見てきましたが、それらはすべて使用するように言っていますMax()
が、これは最高値を選択するため機能しません (間違っています)。MsSQL には、Last()
私がやりたいことと漠然と似ている関数があるのを見てきましたが、MySQL では実装されておらず、とにかく私が必要としているものではありません。
私が尋ねようとしているのは、このようなデータを選択する可能な方法を知っている人はいますか、それとも別のプログラミング言語を使用してこれを行う必要があるかどうかです。