好的,所以这是问题所在。目前我正在使用symfony框架来开发一个Web应用程序。我在后端使用MySQL,但希望将我的查询保留在他们的教义格式中,以避免任何问题,如果我需要更改数据库。排序方式,分组方式 - 问题
在Web应用程序的一部分中,我正在查找由任何不同用户关联的最后评论,按日期排序。在相同的日期和时间可以有多个用户的评论,但是这个查询应该只抓取基于日期的最后评论。
comments table
-----------------------------------------------------------------
| comment_id | user_id | comment | date_time |
-----------------------------------------------------------------
| 1 | 2 | Test_1 | 2010-01-01 00:00:00 |
| 2 | 2 | Test_2 | 2010-02-01 00:00:00 |
| 3 | 2 | Test_3 | 2010-03-01 00:00:00 |
| 4 | 4 | Test_4 | 2010-04-01 00:00:00 |
| 5 | 4 | Test_5 | 2010-05-01 00:00:00 |
| 6 | 4 | Test_6 | 2010-06-01 00:00:00 |
| 7 | 3 | Test_7 | 2010-07-01 00:00:00 |
| 8 | 2 | Test_8 | 2010-08-01 00:00:00 |
| 9 | 3 | Test_9 | 2010-09-01 00:00:00 |
-----------------------------------------------------------------
上面是一个示例表。我运行的查询应该如下返回数据。
-----------------------------------------------------------------
| comment_id | user_id | comment | date_time |
-----------------------------------------------------------------
| 9 | 3 | Test_9 | 2010-09-01 00:00:00 |
| 8 | 2 | Test_8 | 2010-08-01 00:00:00 |
| 6 | 4 | Test_6 | 2010-06-01 00:00:00 |
-----------------------------------------------------------------
最少量的子查询显然会更好。用户未来的评论可能会降低日期时间。
这似乎简单,但它被证明是相当困难...
我不知道教义的语法,但我知道如何在ANSI SQL做到这一点这将在大多数数据库中工作。这对你有什么用处?或者,如果你在教义中需要它,也许你可以把它翻译成自己的教义? – 2010-06-24 20:32:54
这是一个典型的“分组最大”问题或“每组最大”,如果你想要一个搜索词。 – 2010-06-24 20:34:42