gpt4 book ai didi

java - 我将如何更改此代码以使数据组正确?

转载 作者:行者123 更新时间:2023-11-29 09:02:28 25 4
gpt4 key购买 nike

这是我的代码,它主要完成其工作,但它没有像我告诉它的那样使用 SQL 语句进行分组。另外,我想知道如何制作一个自定义列,该列可以自行编号,以便顶部为“1”,并从那里向下编号。

btnLeaderBoardUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String sql3 ="Select Name, Kills from honscores group by Name, Kills order by Kills DESC";
ResultSet rs;
try {
st = conn.prepareStatement(sql3);
rs = st.executeQuery();
table_2.setModel(DbUtils.resultSetToTableModel(rs));

} catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}

}
});

这是输出:(我想在当前两列之前添加一列,称为排名,并从 1 开始编号)

Name           Kills

Raknath 20

AceFire6 15

AceFire6 12

AceFire6 10

Raknath 9

Q22 7

Q22 5

最佳答案

对于您的第一期,请参阅下文。

简短回答
请改用此语句:

Select Name, sum(Kills) from honscores group by Name order by Kills DESC

长答案
您不想按击杀次数分组,而只想按名称分组,并希望聚合结果。

假设您有以下数据:

AceFire6  2
AceFire6 2
AceFire6 1
AceFire6 3
Raknath 1
Raknath 1

并使用您的语句,数据库会将 kills 值为 2AceFire6 的所有值分组,的所有值>AceFire6kills 值为 1 等,然后选择击杀数量。

所以最后,你会得到这样的结果:

AceFire6  3
AceFire6 2
AceFire6 1
Raknath 1

你想要的是总结击杀数,无论这个人每场比赛有多少人——我猜——。

对于您的第二个问题(行数),请参阅 this另一个问题的回答。

编辑:
好吧,类似这样的东西应该可以工作(不能保证,我没有测试该声明):

SELECT @rn:=@rn+1 AS rank, Name, kills
FROM (
Select Name, sum(Kills) as kills from honscores group by Name order by Kills DESC
) t1, (SELECT @rn:=0) t2;

快乐的 FPS-ing...:)

关于java - 我将如何更改此代码以使数据组正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8201308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com