我试图通过积极活动先订购我的表,然后是“endDate”。这意味着,新创建的广告系列将始终排在最后,然后是日期。当广告系列结束时,我希望最新的“endDate”位居第一。MySQL先订购“ID”,然后通过“日期”
这里是我下面的查询:
SELECT campaignId,
status,
dateCreated,
startDate,
endDate
FROM campaign
WHERE deleted='False'
ORDER BY DATE(endDate) > DATE(CURDATE()) DESC, campaignId DESC
,第一部分是正确的,这意味着“endDate”还没有结束,并且首先按id排序。但是,最后一部分是错误的,已结束的广告系列应该按照“endDate”进行排序。我哪里错了?
更新SQL小提琴(请在使用的时候忽略WHERE deleted='False'
):http://sqlfiddle.com/#!9/0a7afb
请在http://sqlfiddle.com上创建一个小提琴,其中包含表结构和示例数据以及问题的预期结果。 –
它被创建...请再次检查 – nodeffect