EN
PostgreSQL - get row position with SELECT query
3
points
In this article, we would like to show you how to get row number with each row in PostgreSQL.
Quick solution:
SELECT
row_number() OVER(ORDER BY "id"),
t.*
FROM table_name AS t;
Practical example
Note:
At the end of this article you can find database preparation SQL queries.
Query:
SELECT
row_number() OVER(ORDER BY "id"),
"name",
"surname"
FROM users;
Output:
Database preparation
create_tables.sql
file:
CREATE TABLE "users" (
"id" SERIAL PRIMARY KEY,
"name" VARCHAR(100) NOT NULL,
"email" VARCHAR(100) NOT NULL,
"country" VARCHAR(15) NOT NULL
);
insert_data.sql
file:
INSERT INTO "users"
("name", "email", "country")
VALUES
('Tom', 'tom@email.com', 'Poland'),
('Chris','chris@email.com', 'Spain'),
('Jack','jack@email.com', 'Spain'),
('Kim','kim@email.com', 'Vietnam'),
('Marco','marco@email.com', 'Italy'),
('Kate','kate@email.com', 'Spain'),
('Nam','nam@email.com', 'Vietnam');