如何限制此MySQL查询的结果数量

时间:2015-01-21 19:42:00

标签: mysql database limit

我有一个表问题,列 question_id,question_title question_topic(c或java)。如何编写一个返回所有' c'问题

但是,如果' c'问题少于5,我还包括' java'问题,以便结果总数最多为10个。

3 个答案:

答案 0 :(得分:2)

试试这个:

select * from questions where question_topic = 'c'
union
select * from questions where question_topic in ("c","java") order by question_type limit 10;

第一个选择为您提供所有C问题,第二个选择为您提供第一个。当您结合时,您不会得到重复

答案 1 :(得分:0)

对于您的特定情况,这应该足够了

SELECT * FROM questions ORDER BY question_topic LIMIT 10;

基本上按照主题按字母顺序排序,得到前10个结果。

答案 2 :(得分:0)

您可以按问题类型排序。 ' C'将会出现在java'之前。所以这个查询应该返回你想要的东西:

select * from questions where question_topic in ("c","java") order by question_type limit 10;

如果有10个C'问题,你会得到它们。否则,10的余额将由java填补。