Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何限制此MySQL查询的结果数_Mysql_Database_Limit - Fatal编程技术网

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

如何限制此MySQL查询的结果数,mysql,database,limit,Mysql,Database,Limit,我有一个表questions,包含question\u id、question\u title和question\u topic(c或java)列。如何编写返回所有“c”问题的查询 但是,如果“c”问题的数量少于5个,我还包括“java”问题,因此结果的总数最多为10个。对于您的特定场景,这应该足够了 SELECT * FROM questions ORDER BY question_topic LIMIT 10; 基本上,你可以根据主题按字母顺序排序,得到前10个结果。你可以按问题类型排序。

我有一个表questions,包含question\u id、question\u title和question\u topic(c或java)列。如何编写返回所有“c”问题的查询


但是,如果“c”问题的数量少于5个,我还包括“java”问题,因此结果的总数最多为10个。

对于您的特定场景,这应该足够了

SELECT * FROM questions ORDER BY question_topic LIMIT 10;

基本上,你可以根据主题按字母顺序排序,得到前10个结果。

你可以按问题类型排序。”C将在java之前出现。因此,此查询应返回您想要的内容:

select * from questions where question_topic in ("c","java") order by question_type limit 10;
如果有10个“C”问题,你会得到全部答案。否则,剩余的10将由java填充。

尝试以下方法:

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

第一个选项给出所有的C问题,第二个选项给出前10个问题。当你联合起来时,你不会得到重复的问题

,但我想要所有c类的问题。只有在少于10个的情况下,我想添加所需数量的java问题,使总数最多为10.Ah。我的错。我误解了。如果其他人不抢先一步,让我仔细想想。