2014-06-14 91 views
1

我需要从我的数据库中提取一些数据,但问题是Im从数据库中获取重复值,这是我不想要的。从MYSQL数据库中选择DISTINCT

用户名被存储在数据库中多次。

我试过使用DISTINCT,但没有奏效。

谁能告诉我如何从数据库中只提取一次用户名?

代码:

PreparedStatement preparedStatement = connect 
      .prepareStatement("SELECT DISTINCT username, score, name from score order by score desc limit 10"); 
+0

它只是'用户名'这是重复的也是'分数'和'名称'? –

+0

只有用户名 – user3702643

回答

3

使用group by而不是distinctSelect distinct适用于所选的所有列:

SELECT username, max(score) as score, max(name) as name 
from score 
group by username 
order by score desc 
limit 10; 
+0

完美谢谢!顺便说一下,“max(分数)作为分数”是什么意思? – user3702643

+1

这意味着要为每个“用户名”获取“得分”的最大值,并在输出中为其指定“得分”的名称。 –

0

从查询中删除得分和名称。