在mysql中,选择第一个和第二个条件记录

在mysql中,选择第一个和第二个条件记录,mysql,Mysql,我在mysql表中有三列 身份证件 出版日期 地位 我想按以下顺序显示记录 首先展示了那些 pubdate >=currdate() and status=1 and order by pubdate ASC 然后是表中所有剩余的记录,没有任何条件 请为mysql查询提供帮助我将尝试: SELECT * FROM (SELECT * FROM mytable WHERE pubdate>=CURDATE() AND status=1 ORDER BY pubdate ASC

我在mysql表中有三列

身份证件 出版日期 地位 我想按以下顺序显示记录

首先展示了那些

pubdate >=currdate() and status=1 and order by pubdate ASC
然后是表中所有剩余的记录,没有任何条件

请为mysql查询提供帮助

我将尝试:

    SELECT * FROM (SELECT * FROM mytable WHERE pubdate>=CURDATE() AND status=1 ORDER BY pubdate ASC) AS a
      UNION all
    SELECT * FROM (SELECT * FROM mytable WHERE pubdate<CURDATE() OR status!=1) AS b; 

当条件满足时,给出一些权重,并按顺序使用:

SELECT *,
    IF(pubdate >= CURRENT_DATE AND status = 1, 10, 0) weight
FROM
    thetable
ORDER BY weight DESC, pubdate ASC

你试过什么了吗?我用过,但它没有按pubdate的顺序显示第一个结果记录。