在mysql中,选择第一个和第二个条件记录
我在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
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的顺序显示第一个结果记录。