每天一个BUG小技巧
问题:
优先按照销售状态排序,当销售状态相同时,按照交房时间字段倒排。
思路:
当时想法,先分组,在排序。
可以实现,但是数据被覆盖不正确。
ORDER BY 排序(状态,时间)字段即可
sSalesStatus:状态字段
sDeliverDate :交房时间
ORDER BY sSalesStatus,sDeliverDate DESC
销售状态类型有多种。例:('待售', '销售', '预售', '在售')
所以当销售状态相同时,按照交房时间字段倒排。
ORDER BY sSalesStatus,sDeliverDate DESC 满足不了这个需求。
FIELD(str,str1,str2,str3,...) 函数可以解决如此问题。
意为:字段str按照字符串str1,str2,str3,str4的顺序返回查询到的结果集。如果表中str字段值不存在于str1,str2,str3,str4中
的记录,放在结果集最前面返回。