0

我有这样的疑问:

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 条主题记录等。

如何将我的查询更改为可能?

4

2 回答 2

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 
于 2013-08-08T08:00:16.683 回答
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

于 2013-08-08T07:44:06.137 回答