如何使用附加条件在 sqlite table 中获取 MAX() 字段?
How can I get MAX() field in a sqlite table using additional condition?
sqlite中有如下table结构:
==========================
| Id | Name | Date |
==========================
| 1 | Foo | 2021-01-01 |
--------------------------
| 2 | Foo | 2021-01-02 |
--------------------------
| 3 | Foo | 2021-01-03 |
--------------------------
| 4 | Bar | 2021-01-01 |
--------------------------
| 5 | Bar | 2021-01-02 |
==========================
并且我需要在一个查询中实现以下逻辑(伪代码):
$names = 'SELECT name FROM MyTable'
for ($name in $names) {
$fields = 'SELECT * FROM MyTable WHERE name = :name'
$id = getIdWithBiggestDate($fields)
}
因此,我应该得到这样的东西(具有唯一名称和最大日期的项目):
==========================
| Id | Name | Date |
==========================
| 3 | Foo | 2021-01-03 |
--------------------------
| 5 | Bar | 2021-01-02 |
==========================
是否可以在一次查询中执行此操作?
sqlite中有如下table结构:
==========================
| Id | Name | Date |
==========================
| 1 | Foo | 2021-01-01 |
--------------------------
| 2 | Foo | 2021-01-02 |
--------------------------
| 3 | Foo | 2021-01-03 |
--------------------------
| 4 | Bar | 2021-01-01 |
--------------------------
| 5 | Bar | 2021-01-02 |
==========================
并且我需要在一个查询中实现以下逻辑(伪代码):
$names = 'SELECT name FROM MyTable'
for ($name in $names) {
$fields = 'SELECT * FROM MyTable WHERE name = :name'
$id = getIdWithBiggestDate($fields)
}
因此,我应该得到这样的东西(具有唯一名称和最大日期的项目):
==========================
| Id | Name | Date |
==========================
| 3 | Foo | 2021-01-03 |
--------------------------
| 5 | Bar | 2021-01-02 |
==========================
是否可以在一次查询中执行此操作?