Как перечислить возвращенные строки в SQL?
мне было интересно, можно ли перечислить возвращенные строки. Не в соответствии с содержимым столбца, а просто с последовательным целочисленным индексом. Е. Г.
select ?, count(*) as usercount from users group by age
вернул бы что-то по строкам:
1 12
2 78
3 4
4 42
это для https://data.stackexchange.com/
5 ответов
попробуй:
SELECT
ROW_NUMBER() OVER(ORDER BY age) AS RowNumber
,count(*) as usercount
from users
group by age
Если это Oracle, используйте rownum
.
SELECT SOMETABLE.*, ROWNUM RN
FROM SOMETABLE
WHERE SOMETABLE.SOMECOLUMN = :SOMEVALUE
ORDER BY SOMETABLE.SOMEOTHERCOLUMN;
окончательный ответ будет полностью зависеть от того, какую базу данных вы используете.
Как вы это сделаете зависит от вашего сервера базы данных. В SQL Server можно использовать row_number()
:
select row_number() over (order by age)
, age
, count(*) as usercount
from users
group by
age
order by
age
но часто проще и быстрее использовать номера строк на стороне клиента.
использовать rownumber функция доступна в sql server
SELECT
ROW_NUMBER() OVER (ORDER BY columnNAME) AS 'RowNumber',count(*) as usercount
FROM users