你好,我想弄清楚如何转换这张桌子
+----+------------+-------+-------+---------------------+
| id | profile_id | name | value | added |
+----+------------+-------+-------+---------------------+
| 1 | 1 | Item1 | 100 | 2018-11-30 17:08:38 |
| 2 | 1 | Item1 | 140 | 2018-11-30 17:18:38 |
| 3 | 1 | Item2 | 120 | 2018-11-28 17:08:38 |
| 4 | 2 | Item1 | 110 | 2018-11-03 17:08:38 |
| 5 | 3 | Item3 | 120 | 2018-11-30 17:08:38 |
| 6 | 3 | Item4 | 100 | 2018-11-29 17:08:38 |
+----+------------+-------+-------+---------------------+
变成这样
+----+------------+-------+-------+---------------------+
| id | profile_id | name | value | added |
+----+------------+-------+-------+---------------------+
| 2 | 1 | Item1 | 140 | 2018-11-30 17:18:38 |
| 3 | 1 | Item2 | 120 | 2018-11-28 17:08:38 |
| 5 | 3 | Item3 | 120 | 2018-11-30 17:08:38 |
| 6 | 3 | Item4 | 100 | 2018-11-29 17:08:38 |
+----+------------+-------+-------+---------------------+
基本上,它应该显示唯一的“名称”和“ profile_id”(显示给定名称的“值”字段的最大值)。我尝试过这样的事情
SELECT DISTINCT(t.profile_id),t.name,t.value FROM table as t ORDER BY t.value DESC;
还应该有一个where子句,其添加日期不能早于7天。
进一步说明:profile_id可以存储相同的名称,只有值和添加的时间会改变。它应该只返回唯一的名称和找到的最高值。
如果我不清楚,请随时询问更多详细信息。
感谢您的帮助。