https://www.youtube.com/watch?v=7MyvKWqcmyU
DROP TABLE IF EXISTS friends;
CREATE TABLE friends
(
friend1 VARCHAR(50),
friend2 VARCHAR(50)
)
;
INSERT INTO Friends VALUES
("Robin","Rahul"),
("Prithvi","Rahul"),
("John","Rahul"),
("Rahul","Robin"),
("Rahul","Prithvi"),
("Rahul","John")
;
SELECT * FROM friends;
WITH CTE AS (
SELECT
*,
CASE WHEN friend1>friend2 THEN friend1 ELSE friend2 END AS friendA,
CASE WHEN friend1>friend2 THEN friend2 ELSE friend1 END AS friendB
FROM friends
ORDER BY friendA,friendB
)
SELECT
friend1,
friend2,
DENSE_RANK() OVER (ORDER BY FriendA,FriendB) AS Category
FROM cte