java - SQL 请求返​​回带有最近日期和另一个字段的属性

标签 java sql postgresql

我想获取具有特定指定的库存字段的值以及该指定的最新日期,例如,如果我有

    designation | Inventory | date
-----------------------------------------
    dufaston    | 20        | 15.05.2015
    dufaston    | 10        | 16.05.2015
    aspigic     | 5         | 17.05.2015

对于 dufaston 指定,它应该让我 inventory = 10,但是我的 sql 代码不起作用,我的代码返回 0,因为它获取表的最新日期,是 17.05.2015,对应于 aspigic 而不是 dufaston,谁可以帮助我纠正我的代码

ResultSet  sqlCalcul=stmt.executeQuery("SELECT inventaire FROM calcul WHERE designation='"+designation+"' AND date=(SELECT MAX(date)  FROM calcul)");

最佳答案

我假设您的列date是一个实际的日期字段,而不仅仅是代表日期的字符串?

如果是这样,以下应该有效:

SELECT Inventory FROM your_table
    WHERE designation = your_designation
    ORDER BY date DESC
    LIMIT 1

您基本上选择具有所请求名称的所有行,按日期对它们进行排序并丢弃除最近的一行之外的所有行。

关于java - SQL 请求返​​回带有最近日期和另一个字段的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30292374/

相关文章:

java - 使用准备好的语句进行 SQL 注入(inject)而不使用绑定(bind)变量?

sql - 替换部分/行 Postgresql

postgresql - 如何将字符串视为 UTC 时间戳?

mysql - 将 MySQL SET 数据类型转换为 Postgres

ruby-on-rails - 在代理键存在的情况下,我应该如何为域约束定义复合外键?

java - 线程中出现异常 "main"java.lang.OutOfMemoryError : Java heap space on eclipse

java - 处理多个 StoredProcedureItemReader 调用

java - 如何在 Java 应用程序中显示图像

java - Maven:尽管 settings.xml 具有使用 HTTPS 配置的存储库,但无法检索插件描述符和对等体未经过身份验证的错误

MySQL 分组依据和位置