根据特定日期和标准MYSQL选择数据

时间:2016-09-11 21:18:04

标签: php mysql database date

我想要做的是从数据库中选择一个特定舞者组的所有内容,然后查找每个舞蹈的最新日期并仅显示这些。

请参阅附图,了解我希望从数据库返回的结果(大红色箭头)。在这个例子中,单个跳汰机在9月11日没有跳舞但是我需要最后一次跳舞(第10次)所以我可以计算舞者在所有舞蹈中的当前水平。

example data I would want

1 个答案:

答案 0 :(得分:1)

尝试

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

这是SQLFiddle

示例输出:

|  id | dancer_id |                        date |      dance | level | placed |  venue |
|-----|-----------|-----------------------------|------------|-------|--------|--------|
| 143 |       130 | September, 10 2016 00:00:00 | Single Jig |     1 |      4 | (null) |
| 146 |       130 | September, 11 2016 00:00:00 |       Reel |     2 |      5 | (null) |
| 147 |       130 | September, 11 2016 00:00:00 |  Light Jig |     2 |      4 | (null) |
| 148 |       130 | September, 11 2016 00:00:00 |   Slip Jig |     2 |      4 | (null) |