首页 > 数据库 > MySQL > 正文

MySQL中按照多字段排序及问题解决

2024-07-24 12:46:18
字体:
来源:转载
供稿:网友

因为在做一个项目需要筛选掉一部分产品列表中的产品,使其在列表显示时排在最后,但是所有产品都要按照更新时间排序。

研究了一下系统的数据库结构后,决定将要排除到后面的产品加为粗体,这样在数据库中的“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语句时也要注意引号的问题哦!

以上所述就是本文的全部内容了,希望大家能够喜欢。

您可能感兴趣的文章:

MySQL中Order By多字段排序规则代码示例php+mysql+ajax实现单表多字段多关键词查询的方法MySQL中索引优化distinct语句及distinct的多字段操作PHP+Mysql实现多关键字与多字段生成SQL语句的函数MySQL注入绕开过滤的技巧总结MYSQL使用正则表达式过滤数据Python连接MySQL并使用fetchall()方法过滤特殊字符python实现mysql的单引号字符串过滤方法mysql 复制过滤重复如何解决Mysql数据库实现多字段过滤的方法
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表