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

前端之家收集整理的这篇文章主要介绍了php – mysql – 按字段顺序无法正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个数据库,该表包含ide为1到20的行.

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

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

这是此代码的结果:

  1. id
  2. 13
  3. 17
  4. 16
  5. 15
  6. 7
  7. 6
  8. 5
  9. 2
  10. 3
  11. 4
  12. 1

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

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

谢谢

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

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

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

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

或者,如果你想要花哨:

  1. ORDER BY - field( id,1 ) DESC

猜你在找的PHP相关文章