我试图按列值排序结果。我有这个基本的查询:按列值获取SQL结果
SELECT `product_id`,
(SELECT `name`
FROM `specifications` s
WHERE `specification_id` = sp.`specification_id`) AS Specification,
`value`
FROM `specs-product` sp
WHERE `product_id` = '4'
AND (`specification_id` = '88'
OR `specification_id` = '103'
OR `specification_id` = '18'
OR `specification_id` = '15'
OR `specification_id` = '157'
OR `specification_id` = '89'
OR `specification_id` = '9'
OR `specification_id` = '223'
OR `specification_id` = '224'
OR `specification_id` = '29'
OR `specification_id` = '87'
OR `specification_id` = '219'
OR `specification_id` = '218'
OR `specification_id` = '220')
我叫priority
表specifications
已经列名。我需要得到由这个优先级值排序的结果。我试过了order by s.'priority'
但是没有工作。我怎样才能做到这一点?
表结构如下:
specifications
+------------------+------+----------+
| specification_id | name | priority |
+------------------+------+----------+
| 1 | abc | 5 |
| 2 | xxxx | 2 |
| 3 ababab | 3 | |
+------------------+------+----------+
PRODUCTS
TABLE
+------------+------------+--+
| product_id | reference | |
+------------+------------+--+
| 1 | abc | |
| 2 | xxxx | |
| 3 | ababab | |
+------------+------------+--+
你是什么意思它没有工作?什么数据类型是“优先级”列?如果它是一个字符串,它将按字典顺序排序,所以你必须把它作为一个整数。 – bernie
它是'INT'。那么,我应该改变一些东西吗? – user1012181
你可以给两个表的表结构吗? –