我正在尝试找到一个解决Mysql问题的简单方法。问题是,我有2列A和B,在某些行中,我分别在这些列中有数据X和Y.现在我将这些数据表示如下(仅作为示例)。该表还可能包含如下所示的其他数据。
A |乙
X | ÿ
X | ž
F | ÿ
X | ÿ
S | Ť
X | Ť
S | ÿ
现在我想运行一个查询,它在各自的列中找到X和Y,但按优先级显示它们。也就是说,X和Y一起出现的列应首先出现,然后出现具有单独列的列。
请注意,可能会有更多列,并且数据优先级也会相应地应用。因此,列匹配时,在获取结果时应将其作为优先级。
数据比较仅适用于每个字段。
我正在探索是否可以通过Mysql处理这种情况,或者我必须从PHP中查看一些内容。
答案 0 :(得分:1)
您可以按值排序,它应该是st。像
... ORDER BY FIELD(A, 'X') DESC, FIELD(B, 'Y') DESC
答案 1 :(得分:0)
您可以使用“公式”计算订购的重量:
SELECT
taskid, levelskill,
CASE
WHEN EXISTS
(SELECT
taskid
FROM
assig
WHERE tasks.taskid = assig.taskid
AND tasks.lang = assig.lang)
THEN 'TRUE'
ELSE 'FALSE'
END AS Completed
FROM
tasks
WHERE (lang = @lang)
GROUP BY levelskill, taskid