/ / Пріоритетність рядків у результаті mysql - mysql, база даних

Визначення пріоритетних рядків у результатах mysql - mysql, database

Я намагаюся знайти просте рішення Mysqlпроблема. Проблема в тому, що у мене є 2 стовпчики A і B, а в деяких рядках у цих стовпцях є дані X і Y відповідно. Тепер у мене ці дані представлені як нижче (лише приклад). У таблиці також можуть бути інші дані, представлені нижче.

А | Б
X | Y
X | Z
Ж | Y
X | Y
S | Т
X | Т
S | Y

Тепер я хочу запустити запит, який знаходить X і Y вїх відповідних стовпців, але показує їх за пріоритетом. Тобто спочатку повинні з’являтися стовпці, у яких X і Y з’являються разом, а потім - колони з окремими стовпцями.

Будь ласка, зауважте, що стовпців може бути більше, і пріоритетність даних буде застосовуватися відповідно. Чим більше стовпців збігається, тим більше має бути їх пріоритетом під час отримання результатів.

Порівняння даних проводиться лише для одного поля.

Я просто досліджую, чи міг би вирішити цю ситуацію Mysql або мені доведеться подивитися на щось із PHP.

Відповіді:

1 для відповіді № 1

Можна замовити за вартістю, це повинно бути вул. люблю

... ORDER BY FIELD(A, "X") DESC, FIELD(B, "Y") DESC

0 для відповіді № 2

Ви можете використовувати "формулу" для обчислення ваг для замовлення:

SELECT A, B FROM TEST
ORDER BY CASE WHEN (A = "X" AND B = "Y") THEN 1 ELSE 0 END DESC

Перевірте приклад в Інтернеті: http://sqlfiddle.com/#!9/6545e4/8