add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255),
email VARCHAR(255),
sort INT
);

INSERT INTO users (username, email, sort) VALUES ('user1', 'user1@example.com', 50);
INSERT INTO users (username, email, sort) VALUES ('user2', 'user2@example.com', 30);
INSERT INTO users (username, email, sort) VALUES ('user3', 'user3@example.com', 20);
INSERT INTO users (username, email, sort) VALUES ('user4', 'user4@example.com', 90);
INSERT INTO users (username, email, sort) VALUES ('user5', 'user5@example.com', 40);
INSERT INTO users (username, email, sort) VALUES ('user6', 'user6@example.com', 70);
SELECT
sort,
username,
GROUP_CONCAT(email) AS email_concat,
COUNT(*) OVER (ORDER BY NULL) AS total_count
FROM users
GROUP BY id
ORDER BY sort;
sort username email_concat total_count
20 user3 user3@example.com 6
30 user2 user2@example.com 6
40 user5 user5@example.com 6
50 user1 user1@example.com 6
70 user6 user6@example.com 6
90 user4 user4@example.com 6
SELECT
sort,
username,
GROUP_CONCAT(email) AS email_concat,
COUNT(*) OVER (ORDER BY sort) AS total_count
FROM users
GROUP BY id
ORDER BY sort;
sort username email_concat total_count
20 user3 user3@example.com 1
30 user2 user2@example.com 2
40 user5 user5@example.com 3
50 user1 user1@example.com 4
70 user6 user6@example.com 5
90 user4 user4@example.com 6