+------+---------+--------+---------+---------+---------+
| id | user_id | obj_id | created | applied | content |
+------+---------+--------+---------+---------+---------+
| 1 | 1 | 1 | 1 | 1 | ... |
| 2 | 1 | 2 | 1 | 1 | ... |
| 3 | 1 | 1 | 1 | 2 | ... |
| 4 | 1 | 2 | 2 | 2 | ... |
| 5 | 2 | 1 | 1 | 1 | ... |
| 6 | 2 | 2 | 1 | 1 | ... |
+------+---------+--------+---------+---------+---------+
私は上記と同様の表を持っています。 id
,およびobj_id
は外部キーです。 created
およびapplied
は、整数として格納されたタイムスタンプです。 user_id
とobj_id
でグループ化し、最大値をapplied
とする行全体を取得する必要があります。 2つの行の値が同じapplied
の場合、最大値はcreated
にする必要があります。したがって、上記のデータのために、私の所望の出力は次のようになります。2番目の列にフォールバックしてMySQLの列を最大にする
+------+---------+--------+---------+---------+---------+
| id | user_id | obj_id | created | applied | content |
+------+---------+--------+---------+---------+---------+
| 1 | 1 | 1 | 1 | 1 | ... |
| 4 | 1 | 2 | 2 | 2 | ... |
| 5 | 2 | 1 | 1 | 1 | ... |
| 6 | 2 | 2 | 1 | 1 | ... |
+------+---------+--------+---------+---------+---------+
私の現在のソリューションは、applied
順すべてcreated
得ることです:
select * from data order by applied desc created desc;
を、コードで物事を整理、この表には、取得します非常に大きいと私は必要なデータを取得するSQLソリューションが欲しいです。
ASCIIアートの場合は➕1。 CVEのために:最初のクエリを追加してください。 –
@LinusKleenどういう意味ですか?私が現在使っているクエリ、または上記のデータを複製するクエリ? –
申し訳ありません。 "イニシャル"のように: "あなたが困っているもの" –