https://www.youtube.com/watch?v=7MyvKWqcmyU

Pasted image 20241228195235.png

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