加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – mysql – 按字段顺序无法正常工作

发布时间:2020-12-13 13:23:47 所属栏目:PHP教程 来源:网络整理
导读:假设我有一个数据库,该表包含ide为1到20的行. 我想先返回ID为3,4,1的3行,然后返回其他行.这是我的代码: SELECT idFROM prodORDER BY field( id,3,1 ) LIMIT 20 这是此代码的结果: id13 17 16 15 7 6 5 2 3 4 1 奇怪的是,我需要先出现的3行最后显示, 如何将
假设我有一个数据库,该表包含ide为1到20的行.

我想先返回ID为3,4,1的3行,然后返回其他行.这是我的代码:

SELECT id
FROM prod
ORDER BY field( id,3,1 ) 
LIMIT 20

这是此代码的结果:

id
13 
17 
16 
15 
 7 
 6 
 5 
 2 
 3 
 4 
 1

奇怪的是,我需要先出现的3行最后显示,

如何将这3行添加到列表顶部?

谢谢

你可以使用desc:
SELECT id
FROM prod
ORDER BY field( id,1 ) DESC
LIMIT 20

问题是,当您按升序执行升序操作时,MySQL会先输入NULL值.

如果你真的想要按顺序3,1的行(这个问题对这个要求很模糊),那么在字段语句中反转它们:

SELECT id
FROM prod
ORDER BY field( id,1,3 ) DESC
LIMIT 20

或者,如果你想要花哨:

ORDER BY - field( id,1 ) DESC

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读