从Mysql获取一系列独特元素

时间:2013-08-08 07:33:24

标签: java mysql database

我有这样的疑问:

SELECT id, forum_theme, owner, enter_time, main_topic 
FROM forum_message 
WHERE main_topic IN (1,2,3)
ORDER BY enter_time DESC
LIMIT 3 

数组正在改变,我在java中添加它,因此LIMIT等于数组的大小。 问题是 - 我需要main_topic唯一的每条记录,因此数组的每个元素必须只有一条记录,而是我有1,2,2条主题记录等。

如何更改查询以使其成为可能?

2 个答案:

答案 0 :(得分:1)

在SQL中使用distinct关键字选择main_topcs,如下所示:

SELECT id, forum_theme, owner, enter_time, main_topic 
FROM forum_message 
WHERE main_topic IN ( select distinct (main_topic) from forum_message)
ORDER BY enter_time DESC

注意:请记住,如果您输入id或其他列,则会获得多个main_topcs

答案 1 :(得分:1)

试试这个:

SELECT id, forum_theme, owner, enter_time, main_topic 
FROM forum_message 
WHERE main_topic IN (1,2,3)
GROUP BY main_topic
ORDER BY enter_time DESC
LIMIT 3