mysql - 如何打印结果集中的值而不包含列中的任何重复记录

标签 mysql sql database jsp resultset

我已经创建了代码。请检查评论中的链接。我正在尝试编写代码,为特定列提供唯一记录,但不是为所有列提供唯一记录。也尝试过[while(rs.next())]。但它会打印具有重复列值的所有记录。我想打印特定两列唯一的表格以及其他列中包含的重复值。请更喜欢下面提供的图像,然后您将确切地了解我正在寻找的内容。 enter image description here

现在您可以看到左侧表包含从结果集中提取的列的所有重复值。但我想要所有记录,但不想要前两列的重复值。

最佳答案

您想用 SQL 还是 Java 来完成?在 Java 中,您可以(我将针对一个值执行此操作,您可以计算出其他值):

    String lastUsername;
    while (rs.next()) {
       String username = rs.getString("username");
       if (username.equals(lastUsername)) username = "";
       else lastUsername = username;

       // print username or whatever you need to do with it
    }

您还应该确保您的数据集实际上是按某些内容排序的,至少是您要替换的列:

SELECT DISTINCT username, empid, leavetype,remainingleave,requiredleave,STATUS 
  FROM request 
 ORDER BY username, empid

关于mysql - 如何打印结果集中的值而不包含列中的任何重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55607437/

相关文章:

java - 多对多映射后如何使用Hibernate读取数据

c - C 中精确和近似查找的多个键

java - 将部分转换为字符串

mysql - 在 mySQL 中将记录标记为重复项

mysql - 使用 BASH 数组修改 MySQL 表

mysql - 如何查找多个列的总和,每个列的列具有相同的值?

mysql - 如何在同一查询mysql中选择组成员数和关注状态

php - 更新用户个人资料 Laravel

php - 如何在数据库中插入带有双引号的值?

mysql - 如何从 MYSQL 中获取文本的前 10 个字符减去一些字符