mysql - 如何打印结果集中的值而没有列中的任何重复记录
问题描述
我已经创建了代码。请检查评论中的链接。我正在尝试编写代码,为特定列提供唯一记录,但不是为所有列提供唯一记录。还尝试了 [while(rs.next())]。但它会打印具有重复列值的所有记录。我想打印特定两列唯一且重复值包含在其他列中的表。请更喜欢下面提供的图像,然后您将确切了解我在寻找什么。
现在在这里您可以看到左侧表包含从结果集中提取的所有列重复值。但我想要所有记录,但不想要前两列的重复值。
解决方案
你想用 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
推荐阅读
- reactjs - Heroku 推送失败 React
- sql - 简单连接的问题需要很长时间才能完成
- linux - 为此终端创建子进程时出错
- php - PCRE2 正则表达式错误转义序列在字符类中无效
- r - 如何在 for 循环中设置向量?
- jwt - DocuSign - JWT 配置中的签名部分
- c - 将文本文件中的数字推送到链接列表中
- flutter - Flutter 从有状态小部件向另一个有状态小部件传递数据和调用方法
- json - 解析 JSON 时需要运行时错误“424”对象
- git - 为什么 git log --find-object 会为给定的 blob 获取两个具有不同内容的文件提交?