0

我正在尝试查询包含事务列表的数据库。我需要的交易必须是特定状态,如果存在重复的成本代码,查询应该只返回 ID 号最高的 ID

我的示例表如下,表名 = foo,我需要的状态是 3

ID       transaction date     status     cost code
1         20120101               3           5
2         20120101               3           5
3         20120101               4           7

在这个例子中,我需要的是 ID 2

谢谢

4

3 回答 3

4
select * from foo where status = 3 order by id desc limit 1;

您可以将 3 替换为您有兴趣检索的任何状态。

“order by id desc limit 1”短语将满足“具有最高 ID 号的 ID”约束。

于 2012-05-14T02:04:00.837 回答
0

如果所选列相同,您可以使用 MAX 获取最高 ID 号

SELECT transaction_date, Status, cost_code, MAX(ID) As ID
FROM foo
GROUP BY transaction_date, Status, cost_code
于 2012-05-14T02:06:20.503 回答
0

使用此查询:

SELECT MAX(ID) AS MaxID
FROM foo
WHERE status = 3
于 2012-05-14T02:09:10.850 回答