我试图仅显示日期值的一个最大值(我希望在其他列中仅看到一个最新可能日期的值)。
是否有任何选项可以在 MS Query sql 中实现此目的?
我的 table 是这样的:
我当前的代码是这样的:
SELECT stof_0."arti-cd-base", stof_0."dcmf-nr", Max(stof_0."stof-dt") AS 'Maximum z stof-dt', stof_0."stof-qty-op"
FROM NILOS.PUB.stof stof_0
GROUP BY stof_0."arti-cd-base", stof_0."dcmf-nr", stof_0."stof-qty-op", stof_0."arti-cd-sfx", stof_0."adfc-cd-diffco"
HAVING (stof_0."arti-cd-base"=1) AND (stof_0."arti-cd-sfx"=15) AND (stof_0."adfc-cd-diffco"=0)
ORDER BY stof_0."arti-cd-base", Max(stof_0."stof-dt") DESC
有人知道如何排列代码,以便只有一个值(一行)成为表中最新日期的结果吗?
最佳答案
如果表中只有一行包含最新日期,请使用order by
和某种形式的限制结果。在标准 SQL 中,您可以执行以下操作:
select s.*
from NILOS.PUB.stof s
order by "stof-dt"
fetch first 1 row only;
在 MySQL 中,您可以使用 limit
而不是 fetch
。
在 SQL Server 中,您可以使用以下之一:
select top (1)
或者:
offset 0 row fetch first 1 row only
关于mysql - 如何使用 SQL 在 MS 查询表中仅显示日期的一个最大值(而不是一组最大值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57425375/