收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 2218|回复: 6

[php] 如何让记录为空的排在后面? sql

[复制链接]
发表于 2011-6-1 12:58:27 | 显示全部楼层 |阅读模式
在产品字段里,缩略图为空的,字段里是没有数据,我想这些记录排在后面,原来的sql中已有一些排序的条件,各位看看如何修改这个sql


  1.   $sql = "SELECT goods_id, goods_name, goods_type, goods_thumb,goods_sn, shop_price, is_on_sale, is_best, is_new, is_hot, sort_order, goods_number, integral, " .
  2.                     " (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote ".
  3.                     " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" .
  4.                     " ORDER BY $filter[sort_by] $filter[sort_order] ".
  5.                     " LIMIT " . $filter['start'] . ",$filter[page_size]";
复制代码


其中,goods_thumb这个字段如果没有内容,空的就排在后面去,其它的排序条件不变
 楼主| 发表于 2011-6-1 13:35:43 | 显示全部楼层
呼唤高手....
回复 支持 反对

使用道具 举报

发表于 2011-6-1 13:49:48 | 显示全部楼层
order by 后加上
IF(ISNULL(`goods_thumb`),1,2) desc,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-1 14:13:30 | 显示全部楼层
原帖由 [i]shirne 于 2011-6-1 13:49 发表
order by 后加上
IF(ISNULL(`goods_thumb`),1,2) desc,


不行哦
回复 支持 反对

使用道具 举报

发表于 2011-6-1 14:30:22 | 显示全部楼层
我这样用没问题呀.
表结构帖出来我测试下.
或者你的goods_thumb是空字符串,不是null?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-1 14:46:29 | 显示全部楼层
是空字符串,在phpmyadmin打开是看不到有字符
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-1 15:04:31 | 显示全部楼层
大笨猪帮忙实现了..谢谢他~~也发上来给大家参考一下~~


  1.         $sql = "SELECT goods_id, goods_name, goods_type, goods_thumb,goods_sn, shop_price, is_on_sale, is_best, is_new, is_hot, sort_order, goods_number, integral, " .
  2.                     " (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote ".
  3.                     " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" .
  4.                     " ORDER BY (case when goods_thumb > '' then 0 else 1 end),$filter[sort_by] $filter[sort_order] ".
  5.                     " LIMIT " . $filter['start'] . ",$filter[page_size]";
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-7-13 13:29 , Processed in 0.107151 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表