MySQL查询如何查询指定条件,并且额外的查询出若干条数据?

SELECT * FROM `subject` WHERE  Subject_id IN (1602509) OR  1=1 LIMIT 5
比如数据库里面有一条记录 Subject_id =1602509,我的结果集想查询出5条记录,并且包含
Subject_id =1602509这一条记录,SQL该如何写呢??

如果没有Subject_id =1602509这条记录,那么就用其他数据补齐5条记录
阅读 3.3k
2 个回答
SELECT * FROM `subject` WHERE Subject_id IN (1602509) 
UNION 
SELECT * FROM `subject` WHERE Subject_id NOT IN (1602509) LIMIT 5

其实这样也行

最好是在业务层实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题