Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 1.35 KB

59.md

File metadata and controls

47 lines (34 loc) · 1.35 KB

solution

eng:

You are given a table, Functions, containing two columns: X and Y.

Two pairs (X1, Y1) and (X2, Y2) are said to be symmetric pairs if X1 = Y2 and X2 = Y1.

Write a query to output all such symmetric pairs in ascending order by the value of X. List the rows such that X1 ≤ Y1.

рус:

Вам дана таблица «Функции», содержащая два столбца: X и Y.

Две пары (X1, Y1) и (X2, Y2) называются симметричными парами, если X1 = Y2 и X2 = Y1.

Напишите запрос, чтобы вывести все такие симметричные пары в порядке возрастания значения X. Перечислите строки, такие что X1 ≤ Y1.

код с коментариями:

SELECT f1.x, f1.y  from functions f1
INNER JOIN functions f2 
WHERE (f2.x = f1.y)
AND (f1.x = f2.y)
GROUP BY f1.x, f1.y
HAVING ((f1.x = f1.y) AND (COUNT(*) > 1))
OR (f1.x < f1.y)
ORDER BY f1.x;

код для hackerrank:

SELECT f1.x, f1.y  from functions f1
INNER JOIN functions f2 
WHERE (f2.x = f1.y)
AND (f1.x = f2.y)
GROUP BY f1.x, f1.y
HAVING ((f1.x = f1.y) AND (COUNT(*) > 1))
OR (f1.x < f1.y)
ORDER BY f1.x;