MySQL中按照多字段排序及问题解决
因为在做一个项目需要筛选掉一部分产品列表中的产品,使其在列表显示时排在最后,但是所有产品都要按照更新时间排序。
研究了一下系统的数据库结构后,决定将要排除到后面的产品加为粗体,这样在数据库中的“ifbold”就会被标记为1,而其他产品就默认标记为0,然后就打算使用MySQL在Order By时进行多字段排序。
Order by的多条件分割一般使用英文逗号分割,所以我测试的SQL如下:
select * from {P}_product_con where $scl order by 'ifbold' asc,$myord desc limit $pagelimit"
但是运行后没有将”ifbold“正序,但是单纯正序”ifbold“却正常,调试了N久,无意中在phpMyAdmin中运行却发现正常,仔细比对后发现问题原来是来自于”ifblod“的引号上。改为下列语句就正常了:
select * from {P}_product_con where $scl order by `ifbold` asc,$myord desc limit $pagelimit
所以以后大家再程序中写SQL语句时也要注意引号的问题哦!
以上所述就是本文的全部内容了,希望大家能够喜欢。相关阅读:
PHP中4种常用的抓取网络数据方法
CI框架中cookie的操作方法分析
js函数参数设置默认值的一种变通实现方法
JS面试题---关于算法台阶的问题
jQuery插件制作之全局函数用法实例
解析php中memcache的应用
javascript实现列表切换效果
JS判断是否360安全浏览器极速内核的方法
CSS3使用transition实现的鼠标悬停淡入淡出
javascript Array 数组常用方法
win8/8.1系统无法安装驱动怎么办?win8/8.1系统安装驱动提示“数据无效”的解决方法
javascript简单性能问题及学习笔记
C#实现将文件转换为XML的方法
html显示长度较大的数据时的处理方法