私は学生の詳細を追跡するためのテーブルを持っており、学生のパフォーマンスを追跡する別のテーブルがあります。SQLレコードの最新の変更を追跡するには?
+==========================================+
| ID | Department | Date |
+==========================================+
| 001 | English | Jan 3 2017 |
| 001 | English | Feb 24 2017 |
| 001 | Science | Mar 1 2017 |
| 001 | Maths | Mar 2 2017 |
| 001 | Maths | Mar 21 2017 |
| 001 | Maths | Apr 2 2017 |
| 001 | English | Apr 7 2017 |
| 002 | Maths | Feb 1 2017 |
| 002 | Maths | Apr 7 2017 |
| 003 | Maths | Apr 3 2017 |
| 003 | Maths | Apr 7 2017 |
| 004 | Science | Feb 1 2017 |
| 004 | Science | Mar 1 2017 |
| 004 | Maths | Apr 7 2017 |
| 004 | English | Apr 9 2017 |
+==========================================+
パフォーマンステーブル:
+===========================================================================+
| ID | Department | Best score| Avg score | Date |
+===========================================================================+
| 001 | English | 98 | 85 | Jan 30 2017 |
| 001 | English | 89 | 80.2 | Apr 14 2017 |
| 001 | Science | 75 | 79.8 | May 1 2017 |
| 001 | Maths | 88 | 80.2 | Jan 12 2017 |
| 001 | Maths | 79 | 75.6 | Feb 21 2017 |
| 001 | Maths | 90 | 80.5 | Jan 20 2017 |
| 001 | English | 80 | 79.3 | Mar 27 2017 |
| 002 | Maths | 90 | 78.4 | Mar 31 2017 |
| 002 | Maths | 85 | 80.2 | May 7 2017 |
| 003 | Maths | 75 | 79.1 | Apr 30 2017 |
| 003 | Maths | 80 | 80.0 | Feb 7 2017 |
| 004 | Science | 60 | 70.3 | May 1 2017 |
| 004 | Science | 72 | 69.9 | Mar 10 2017 |
| 004 | Maths | 70 | 66.8 | Jan 17 2017 |
| 004 | English | 65 | 65.0 | Mar 29 2017 |
+===========================================================================+
私は部門の変化が学生のテーブルで発生するたびに最新の性能や学生の平均スコアを取得したいです。学生001、学生のDEPTの変更が 2017年1月3日、については
| 001 | English | Jan 3 2017 |
| 001 | Science | Mar 1 2017 |
| 001 | Maths | Apr 2 2017 |
ある考慮すると、パフォーマンステーブル内の日付より小さい一切日付はありません。
2017年3月1日、パフォーマンステーブル内の最新のレコードが日付である2017年2月21日
2017年4月2日、パフォーマンステーブル内の最新のレコードが日付である2017年3月27日
私を助けてくださいしている。私のスクリプトは
はあなたが説明していた出力が正しいことを願っています間違っている場合は、これを試みることができる
出力は、第1行出力は以降ので、なぜ第二列であるなぜあなたは?出力をreexplain全くclear.Canではないでしょうか? – KumarHarsh
その出力を取得するために使用したSQLクエリを投稿してください。 –
@KumarHarsh:学生001部門が変更されたことを考えると、彼は3つのレコードを持っています。私が日付を取った、2017年1月3日、それをパフォーマンステーブルで比較すると、パフォーマンステーブルにその日付よりも小さいレコードはありません。 2017年3月1日には、1月30日、1月12日、2月21日、20日の4つのレコードがあります。しかし、最新の日付は2月21日です。 – Poppy