我们有一个用户列表membership_end,正如名称所示 - 用户成员资格结束的日期。现在有些用户从不购买会员资格,因此该字段为空。对于某些用户,该字段已过期(成员已过期)。 我需要的是首先对活动成员进行排序(按membership_end date desc排序),然后按其他独立排序顺序对其余用户进行排序。基本上我们需要展示活跃的成员。结合了来自同一个mysql表的两个选择查询
SELECT * FROM accounts where membership_end>=now()
order by membership_end desc
union
???
- 我们应该使用工会或其他什么东西?
- 什么是第二个查询以避免重复?
在此先感谢
好吧,明确了一点东西。
SELECT * FROM accounts where membership_end>=now()
order by membership_end desc
给我们12个活跃成员,这很好。我们然后有这个:
SELECT * FROM accounts where membership_end<now()
order by id desc
我们只需要在一个查询中结合这两个。就这样。编辑: 其实我找到了它。这很简单。
SELECT标识,membership_end FROM帐户 ORDER BY membership_end> = NOW()DESC,ID DESC
没有联合。 :-)
您好,不会向用户展示其membership_end不为空(例如那些membership_end是2016年6月6日 – Outlaw011
事实上,是你在以下问题中提供的查询:'membership_end> = now()'我只是想强调你可以选择空值并对它们进行排序 –