| Country | Contributions | Between | Climbers | Crags | Summits | Climbs | Ascents | |
|---|---|---|---|---|---|---|---|---|
| 1 | United Kingdom | 49640 | 14th November 2023 – 3rd August 2026 | 1380 | 670 | 0 | 2972 | 4690 |
| 2 | USA | 23953 | 14th November 2023 – 2nd August 2026 | 784 | 179 | 2 | 832 | 2301 |
| 3 | France | 11672 | 14th November 2023 – 1st August 2026 | 258 | 125 | 1 | 536 | 995 |
| 4 | Switzerland | 8672 | 14th November 2023 – 31st July 2026 | 74 | 41 | 1 | 295 | 1031 |
| 5 | Spain | 8157 | 15th November 2023 – 31st July 2026 | 88 | 73 | 0 | 437 | 877 |
| 6 | Italy | 4209 | 16th November 2023 – 30th July 2026 | 113 | 56 | 0 | 174 | 327 |
| 7 | South Africa | 3362 | 16th November 2023 – 30th July 2026 | 12 | 35 | 0 | 120 | 367 |
| 8 | Germany | 2994 | 16th November 2023 – 30th July 2026 | 112 | 47 | 0 | 102 | 220 |
| 9 | Canada | 2959 | 16th November 2023 – 28th July 2026 | 61 | 21 | 3 | 104 | 253 |
| 10 | Japan | 2339 | 16th November 2023 – 11th June 2026 | 74 | 11 | 0 | 90 | 223 |
| Date | Time | User | Type | Name | Attribute | ||
|---|---|---|---|---|---|---|---|
| 30781 | 3rd March 2026 | 15:57:25 UTC | remus | ascent | Austin Hoyt's ascent of Climpit | ascent_style_id | |
|
Before
None
After
1
|
|||||||
| 30782 | 3rd March 2026 | 15:57:25 UTC | remus | ascent | Austin Hoyt's ascent of Climpit | climb_id | |
|
Before
None
After
4756
|
|||||||
| 30783 | 3rd March 2026 | 15:57:25 UTC | remus | ascent | Austin Hoyt's ascent of Climpit | climber_id | |
|
Before
None
After
1672
|
|||||||
| 30784 | 3rd March 2026 | 15:57:25 UTC | remus | ascent | Austin Hoyt's ascent of Climpit | ascent_dt_start | |
|
Before
None
After
2026-01-19
|
|||||||
| 30785 | 3rd March 2026 | 15:57:25 UTC | remus | ascent | Austin Hoyt's ascent of Climpit | ascent_dt_end | |
|
Before
None
After
2026-01-19
|
|||||||
| 30786 | 3rd March 2026 | 15:56:46 UTC | remus | climb | Climpit | grade_id | |
|
Before
39
After
38
|
|||||||
| 30787 | 3rd March 2026 | 15:56:46 UTC | remus | climb | Climpit | eight_a_nu_url | |
|
Before
None
After
https://www.8a.nu/crags/bouldering/united-states/camp-4/sectors/unknown-sector-5dd83/routes/climp-it
|
|||||||
| 30788 | 3rd March 2026 | 15:56:46 UTC | remus | climb | Climpit | grade | |
|
Before
8B
After
8A+
|
|||||||
| 30789 | 3rd March 2026 | 15:55:24 UTC | remus | climber | Beckett Hsin | date_of_birth_end | |
|
Before
None
After
2009-12-12
|
|||||||
| 30790 | 3rd March 2026 | 15:55:24 UTC | remus | climber | Beckett Hsin | date_of_birth_start | |
|
Before
None
After
2009-12-12
|
|||||||
| 30791 | 3rd March 2026 | 15:55:24 UTC | remus | climber | Beckett Hsin | age | |
|
Before
None
After
16
|
|||||||
| 30792 | 3rd March 2026 | 15:55:24 UTC | remus | climber | Beckett Hsin | date_of_birth_pretty | |
|
Before
After
12th Dec 2009
|
|||||||
| 30793 | 3rd March 2026 | 15:52:47 UTC | remus | list | Youngest Ascents | list_definition | |
|
Before
with climbers_with_dobs as (
select
c.climber_id
,c.climber_name
,cm.value::date as date_of_birth
,cm.value
from
climbers c
inner join climber_meta cm
on c.climber_id = cm.climber_id
and cm.climber_meta_key_id = 4
where
c.deleted_on is null
), ascents_with_ages as (
select
row_number() over (partition by g.grade_id order by a.ascent_dt_start - c.date_of_birth asc, a.ascent_dt_start asc) as row_number,
c.climber_id,
c.climber_name,
cl.climb_id,
cl.climb_name
,g.grade_id
,g.grade_system_id
,g.climb_type_id
,g.order_on
,g.grade
,a.ascent_dt_start
,c.date_of_birth
,a.ascent_dt_start - c.date_of_birth as age_in_days_at_ascent
,EXTRACT(YEAR FROM age(a.ascent_dt_start, c.date_of_birth))::integer AS age_in_years_at_ascent
,age(a.ascent_dt_start, c.date_of_birth) as age_interval_at_ascent
,a.ascent_id
from
ascents a
inner join climbers_with_dobs c
on a.climber_id = c.climber_id
and a.deleted_on is null
inner join climbs cl
on cl.climb_id = a.climb_id
and cl.deleted_on is null
inner join grades g
on cl.grade_id = g.grade_id
where
a.ascent_dt_start = a.ascent_dt_end
), youngest as (
select *
from ascents_with_ages
where row_number = 1
)
select
y.grade
,'<a href="/climber/' || y.climber_id::varchar || '">' || y.climber_name || '</a>' as "Climber"
,'<a href="/climb/' || y.climb_id::varchar || '">' || y.climb_name || '</a>' as "Climb"
,y.age_in_days_at_ascent as "Age (Days)"
,y.age_in_years_at_ascent || ' years ' || extract(days FROM y.ascent_dt_start - (y.date_of_birth + make_interval(years => y.age_in_years_at_ascent))) || ' days' AS "Age"
from
youngest y
where
case
when grade_system_id = 1 and order_on >= 13 then 1 -- sport
when grade_system_id = 2 and order_on >= 60 then 1 -- trad
when grade_system_id = 3 and order_on >= 37 then 1 -- boulder
else 0
end = 1
and climb_type_id in (1,2,3)
order by
grade_system_id
,order_on
After
with climbers_with_dobs as (
select
c.climber_id
,c.climber_name
,c.date_of_birth_start as date_of_birth
from
climbers c
where
c.deleted_on is null
and c.date_of_birth_start = c.date_of_birth_end
), ascents_with_ages as (
select
row_number() over (partition by g.grade_id order by a.ascent_dt_start - c.date_of_birth asc, a.ascent_dt_start asc) as row_number,
c.climber_id,
c.climber_name,
cl.climb_id,
cl.climb_name
,g.grade_id
,g.grade_system_id
,g.climb_type_id
,g.order_on
,g.grade
,a.ascent_dt_start
,c.date_of_birth
,a.ascent_dt_start - c.date_of_birth as age_in_days_at_ascent
,EXTRACT(YEAR FROM age(a.ascent_dt_start, c.date_of_birth))::integer AS age_in_years_at_ascent
,age(a.ascent_dt_start, c.date_of_birth) as age_interval_at_ascent
,a.ascent_id
from
ascents a
inner join climbers_with_dobs c
on a.climber_id = c.climber_id
and a.deleted_on is null
inner join climbs cl
on cl.climb_id = a.climb_id
and cl.deleted_on is null
inner join grades g
on cl.grade_id = g.grade_id
where
a.ascent_dt_start = a.ascent_dt_end
), youngest as (
select *
from ascents_with_ages
where row_number = 1
)
select
y.grade
,'<a href="/climber/' || y.climber_id::varchar || '">' || y.climber_name || '</a>' as "Climber"
,'<a href="/climb/' || y.climb_id::varchar || '">' || y.climb_name || '</a>' as "Climb"
,y.age_in_days_at_ascent as "Age (Days)"
,y.age_in_years_at_ascent || ' years ' || extract(days FROM y.ascent_dt_start - (y.date_of_birth + make_interval(years => y.age_in_years_at_ascent))) || ' days' AS "Age"
from
youngest y
where
case
when grade_system_id = 1 and order_on >= 13 then 1 -- sport
when grade_system_id = 2 and order_on >= 60 then 1 -- trad
when grade_system_id = 3 and order_on >= 37 then 1 -- boulder
else 0
end = 1
and climb_type_id in (1,2,3)
order by
grade_system_id
,order_on
Diff
--- before
|
|||||||
| 30794 | 3rd March 2026 | 15:06:09 UTC | remus | crag | Barker Dam | latitude | |
|
Before
None
After
34.031985
|
|||||||
| 30795 | 3rd March 2026 | 15:06:09 UTC | remus | crag | Barker Dam | longitude | |
|
Before
None
After
-116.146275
|
|||||||
| 30796 | 3rd March 2026 | 15:06:09 UTC | remus | crag | Barker Dam | eight_a_nu_url | |
|
Before
None
After
https://www.8a.nu/crags/bouldering/united-states/barker-dam/routes
Diff
--- before
|
|||||||
| 30797 | 3rd March 2026 | 15:04:45 UTC | remus | climb | Iron Resolution | See Also | |
|
Before
None
After
7193
|
|||||||
| 30798 | 3rd March 2026 | 15:04:32 UTC | remus | climb | Diamond Grit | See Also | |
|
Before
None
After
3589
|
|||||||
| 30799 | 3rd March 2026 | 15:04:24 UTC | remus | climb | Diamond Grit | grade_id | |
|
Before
None
After
39
|
|||||||
| 30800 | 3rd March 2026 | 15:04:24 UTC | remus | climb | Diamond Grit | eight_a_nu_url | |
|
Before
None
After
https://www.8a.nu/crags/bouldering/united-states/barker-dam/sectors/unknown-sector/routes/diamond-grit
|
|||||||