我目前正在寻找通过不属于结果集或数据库本身的权重来订购mysql结果的可能性。数据库和权重之间的唯一链接基于权重存在的一个唯一列。
更确切地说,我有MySql表
+-------------------+
|Food |
+-------------------+
|id:int(unique) |
|name:string |
+-------------------+
和食物ID的一个外部权重来源。例如,用户将食物1称为100,食物2称为200,食物3称为50.我想要的是按照用户给出的重量来定量结果。
您是否有任何想法如何将这些外部信息应用到结果中?
编辑:我不是在寻找一个后来命令查询结果的解决方案!我希望mysql服务器对结果进行排序。
答案 0 :(得分:4)
你走了:
SELECT
CASE id
when 1 then 300
when 2 then 100
when 3 then 200
END as weight
from tab
order by weight;
您在此处执行的操作是将现有行值替换为自定义值,然后使用这些值对其进行排序。
答案 1 :(得分:0)
如果您的外部来源为php
array
。那么你应该使用php array
sorting
函数而不是在mysql查询中进行排序。
从mysql表中获取需要的数据并制作一个php数组。现在创建一个外部源数组并组合两个数组并使用array
排序。
列出了她的PHP数组排序函数。您可以根据需要使用。