Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL从起始值开始排序_Mysql_Sql_Select_Sql Order By - Fatal编程技术网

MySQL从起始值开始排序

MySQL从起始值开始排序,mysql,sql,select,sql-order-by,Mysql,Sql,Select,Sql Order By,在产品页面上,我有一个下拉列表,列出与产品页面相关的当前颜色选项 在本例中,产品页面SKU为250E,可在以下位置获得: GREEN BLACK 如果客户选择绿色,那么我想运行一个MySQL命令,该命令将首先根据下面显示的自定义顺序值更改数据以显示绿色值 起始值应覆盖其他数据项,然后应保留自定义顺序值。custom_order字段包含c1、c2等字母(它们将始终位于底部) 从按客户订单描述订购的产品中选择* 现在,我想做以下工作: 从产品中选择*,其中按自定义订单排序,起始值='6' 因此,无

在产品页面上,我有一个下拉列表,列出与产品页面相关的当前颜色选项

在本例中,产品页面SKU为250E,可在以下位置获得:

GREEN
BLACK
如果客户选择绿色,那么我想运行一个MySQL命令,该命令将首先根据下面显示的自定义顺序值更改数据以显示绿色值

起始值应覆盖其他数据项,然后应保留自定义顺序值。custom_order字段包含c1、c2等字母(它们将始终位于底部)

从按客户订单描述订购的产品中选择*

现在,我想做以下工作:

从产品中选择*,其中按自定义订单排序,起始值='6'

因此,无论怎样,c1、c2都保持不变,结果将是:

22      250E        cdn_hash_5.jpg          6                   5
23      250E        cdn_hash_6.jpg          6                   6
24      250E        cdn_hash_1.jpg          5                   1
225     250E        cdn_hash_2.jpg          5                   2
226     250E        cdn_hash_3.jpg          5                   3
227     250E        cdn_hash_4.jpg          5                   4
325     250E        cdn_hash_c1.jpg         -                   c1
426     250E        cdn_hash_c2.jpg         -                   c2
527     250E        cdn_hash_c3.jpg         -                   c3

其中
条件应位于
ORDER BY
子句之前

SELECT * 
FROM products 
WHERE START_VALUE = '6' 
ORDER BY order
作为旁注,
ORDER
是一个
保留的
关键字。一种逃避的方法是用背勾包装。例如

SELECT * 
FROM products 
WHERE START_VALUE = '6' 
ORDER BY `order`
另一种方法是提供
别名

SELECT * 
FROM products p
WHERE START_VALUE = '6' 
ORDER BY p.order

但是回顾你的问题,你想定制数据,对吗?您可以使用
字段
,例如

SELECT * 
FROM products 
ORDER BY FIELD(`order`, 6) ASC
SELECT * 
FROM products 
ORDER BY FIELD(`order`, 6) ASC

请澄清你的问题。如果您想要所有记录,请使用如下查询


从按colorID ASC、ORDER DESC订购的产品中选择*这是我一直在寻找的答案。我希望我没有被否决,但我设法解决了这个问题

让我再解释一下更简单的术语。MySQL ORDER BY+以..开头

MySQL:

id | name  |
------------
1  | Joe   |
2  | Craig |
3  | Shawn |
4  | Ryan  |
5  | Seth  |
PHP:

我想做的是,我想从id:3开始,所以它应该输出:

3,4,5,1,2
解决方案1 解决方案2 您可以使用
字段
,例如

SELECT * 
FROM products 
ORDER BY FIELD(`order`, 6) ASC
SELECT * 
FROM products 
ORDER BY FIELD(`order`, 6) ASC

明智的做法是重命名您的
order
ORDER
是mysql中的一个保留字。谢谢。更新。从答案来看,我认为您需要澄清排序顺序。是否应将
START\u值
应用于
colorID
以首先放置具有该ID的条目(按
自定义顺序
排序),然后仅使用
自定义顺序
对其余条目进行排序?是。确切地说,我已经更新了一点这个问题……那么起始值考虑到了哪里?为什么要删除
start value
我在你的专栏中看不到
start value
。您想定制订单吗?列表中的第一个应以值
6
开始?我喜欢你之前的答案。是,如果客户从页面的表单字段中选择颜色。下拉值是6或30-无论什么,然后它应该首先从该组开始..我只是回滚答案,我应该取消其中哪一个?@Blackbenzkid,这就是我攻击它们的原因。使用
字段如何?
3  Shawn
4  Ryan
5  Seth
1  Joe
2  Craig
SELECT * 
FROM products 
ORDER BY FIELD(`order`, 6) ASC