【发布时间】:2016-09-11 21:18:04
【问题描述】:
我想要做的是从数据库中为特定舞者组选择所有日期,然后查找每个舞蹈的最新日期并仅显示这些日期。
请参阅附件图片,了解我希望从数据库返回的结果(大红色箭头)。在这个例子中,9 月 11 日没有跳舞,但我需要最后一次跳舞(10 日),这样我就可以计算出舞者在所有舞蹈中的当前水平。
【问题讨论】:
我想要做的是从数据库中为特定舞者组选择所有日期,然后查找每个舞蹈的最新日期并仅显示这些日期。
请参阅附件图片,了解我希望从数据库返回的结果(大红色箭头)。在这个例子中,9 月 11 日没有跳舞,但我需要最后一次跳舞(10 日),这样我就可以计算出舞者在所有舞蹈中的当前水平。
【问题讨论】:
试试
SELECT t.*
FROM table1 t JOIN (
SELECT dancer_id, dance, MAX(date) date
FROM table1
GROUP BY dancer_id, dance
) q ON t.dancer_id = q.dancer_id
AND t.dance = q.dance
AND t.date = q.date
样本输出:
|编号 | dancer_id |日期 |舞蹈 |水平 |放置|场地 | |-----|------------|-----------------------------|- -----------|-------|--------|--------| | 143 | 130 | 2016 年 9 月 10 日 00:00:00 |单夹具 | 1 | 4 | (空) | | 146 | 130 | 2016 年 9 月 11 日 00:00:00 |卷轴 | 2 | 5 | (空) | | 147 | 130 | 2016 年 9 月 11 日 00:00:00 |光夹具 | 2 | 4 | (空) | | 148 | 130 | 2016 年 9 月 11 日 00:00:00 |滑动夹具 | 2 | 4 | (空) |【讨论】: