我试图查询包含交易列表的数据库。我需要的交易必须具有特定的状态,如果存在重复的成本代码,查询应该只返回ID号最高的ID
我的样本表如下, 表名= foo, 我需要的状态是3
ID transaction date status cost code
1 20120101 3 5
2 20120101 3 5
3 20120101 4 7
在这个例子中我需要的是ID 2
由于
答案 0 :(得分:4)
select * from foo where status = 3 order by id desc limit 1;
您可以将3替换为您有兴趣检索的状态。
“按ID desc限制1的顺序”短语将满足“具有最高ID号的ID”约束。
答案 1 :(得分:0)
如果所选列相同,您可以使用MAX获取最高ID号
SELECT transaction_date, Status, cost_code, MAX(ID) As ID
FROM foo
GROUP BY transaction_date, Status, cost_code
答案 2 :(得分:0)
使用此查询:
SELECT MAX(ID) AS MaxID
FROM foo
WHERE status = 3