我有一张这样的桌子:
<script>
var l = document.getElementsByClassName("ae-copy-narrow");
l[x].innerHTML = "some text";
</script>
我想从最近的日期中选择最大值 ID cbk due_16_30 due_31_60
1 2018-06-19 5 200
2 2018-06-19 100 -5
1 2018-06-19 -2 2
2 2018-06-18 20 Null
2 2018-06-18 50 22
1 2018-06-18 30 150
和最大值due_16_30
,其中日期介于某个due_31_60
和start date
之间。如何在end date
中做到这一点?
更新1:
谢谢您的回答!我发现了另一种复杂性-如果我需要做同样的事情,但ID不同,该怎么办?现在,我看到的-它取了之间的最新日期,并且如果该日期没有特定ID的行,则会丢失该ID。
答案 0 :(得分:2)
我希望这对您有帮助
select cbk, max(due_16_30), max(due_31_60)
from [table]
where cbk = (select max(cbk)
from [table]
where cbk >= start_date and
cbk <= end_date
)
group by cbk;
答案 1 :(得分:2)
首先在子查询中获取最新日期,然后获取最大到期日期:
select max(due_16_30) as max_due_16_30,
max(due_31_60) as max_due_31_60
from tab
where cbk in
(
select max(cbk)
from tab
where cbk between date'2018-06-18' and date'2018-06-19'
);
答案 2 :(得分:1)
一种替代方法是使用LIMTIT
的{{1}}子句:
subquery
答案 3 :(得分:0)
尝试
select due_16_30,due_31_60
from
(
SELECT *
from your_table
ORDER BY cbk DESC
LIMIT 1
) as T