首页 > 解决方案 > PHP mysql按可空日期字段排序

问题描述

下面的查询在我的 sql 中提供了 22 行的结果

select pk.partnerid
     , pk.id as packageId
     , pk.name as package
     , p.partnername as partner
     , bp.name
     , bp.bookedDate
     , bp.email
     , bp.phone 
  from packages as pk 
  join bookpackage as bp 
    on bp.pkId = pk.id 
  left 
  join partner as p 
    on p.id = pk.partnerid 
 where pk.status > 0 
 order by (bookedDate is null) asc
     , bookedDate asc

其中与应用程序中的相同仅提供 3 行没有空日期

mysqli_query($con, "
select pk.partnerid
     , pk.id as packageId
     , pk.name as package
     , p.partnername as partner
     , bp.name
     , bp.bookedDate
     , bp.email
     , bp.phone 
  from packages pk 
  join bookpackage bp 
    on bp.pkId = pk.id 
  left 
  join partner p 
    on p.id = pk.partnerid 
 where pk.status > 0 
 order
    by (bookedDate is null) asc
     ,  bookedDate asc
");

如果日期不为空,我想按日期显示所有数据和顺序。

标签: mysql

解决方案


你有没有尝试过

ORDER BY -bookedDate asc,bookedDate asc

代替

order by (bookedDate is null) asc ,bookedDate asc


推荐阅读