【发布时间】:2017-12-31 10:17:51
【问题描述】:
我有一张这样的桌子:
id transaction_id auto_recurring paid_amount package_customerid
37 0 1 0 4
45 37 1 0 4
51 0 1 0 4
57 51 1 0 4
62 0 1 0 4
67 62 1 0 4
package_customer_id = 4 有 6 条记录。现在我想获取 4 的最后一条记录。在这种情况下 id = 67 是我想要的记录。我试试这个SELECT * FROM transactions GROUP BY package_customer_id。但我得到了 package_customer_id = 4 的第一条记录。即:id = 4 是我获取的结果。我怎样才能得到 id = 67 (我想要的记录)修改这个 sql?
【问题讨论】:
-
请注意,使用“分组依据”时,您不一定会获得记录。您将获得与选择标准匹配的字段集合。选择中的字段(您的“*”所在的位置)需要在 where 子句中表示或使用聚合函数,如 MAX dev.mysql.com/doc/refman/5.7/en/group-by-functions.html 如果您尝试这样做,较新版本的 MySQL 将给您一个错误。跨度>