数時間の検索と試してもまだこれを理解することはできません。たぶん私は正しい言葉を選んでいないでしょうか?MySQL - 最新の日付と各列のIDのリストに基づいて列に変換する
わかりましたので、私はこのようなイベントを持つテーブルがあります。私は、リスト内の各列は、最新のイベント(id_sectionと日付)が含まれている三つの異なる列にこの表をピボットしたい
EVENT
+----+------------+------------+------+
| id | id_article | id_section | date |
+----+------------+------------+------+
| 1 | 1 | 1 | 2011 |
| 2 | 1 | 3 | 2012 |
| 3 | 2 | 7 | 2013 |
| 4 | 2 | 6 | 2014 |
| 5 | 3 | 14 | 2015 |
| 6 | 3 | 13 | 2016 |
| 7 | 3 | 0 | 2017 |
+----+------------+------------+------+
をid_sectionです。
sectionA(1,2,3,4,5)IN = id_sectionとMAX(日付)
sectionB = id_section IN(6,7,8,9-:まあ、基本的にこのような、10)とMAX(日付))11,12,13,14,15(IN
sectionC = id_sectionとMAX(日付)
DESIRED RESULT
+------------+----------+----------+-----------+
| id_article | sectionA | sectionB | sectionC | #id_event
+------------+----------+----------+-----------+
| 1 | 3 (2012) | null | null | #id 2
| 2 | null | 6 (2014) | null | #id 4
| 3 | 0 (2017) | null | 13 (2016) | #id 7, 6 <-- two latest events
+------------+----------+----------+-----------+
は、ここで私はR持っているもののSqlFiddleです私はより多くのJOINSが、私はまだそれを把握することはできませんを使用しようとした
INSUFFICIENT RESULT
+------------+----------+----------+-----------+
| id_article | sectionA | sectionB | sectionC | #id_event
+------------+----------+----------+-----------+
| 1 | 3 (2012) | null | null | #id 2
| 2 | null | 6 (2014) | null | #id 4
| 3 | 0 (2017) | null | null | #id 7 <-- only latest event
+------------+----------+----------+-----------+
: - IGHT今だけid_articleあたり、最新のイベントを選択します。
ありがとうございました!
とつながりがある場合のために、リストに含まれるべき? –
@ GordonLinoff次に、より高いid(イベント)でそれを選ぶかもしれない –