我有这样的疑问:
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条主题记录等。
如何更改查询以使其成为可能?
答案 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