| Country | Contributions | Between | Climbers | Crags | Summits | Climbs | Ascents | |
|---|---|---|---|---|---|---|---|---|
| 1 | USA | 1526 | 20th November 2025 – 5th November 2026 | 48 | 20 | 0 | 88 | 98 |
| 2 | Australia | 767 | 28th September 2025 – 29th June 2026 | 6 | 38 | 0 | 61 | 33 |
| 3 | United Kingdom | 625 | 19th November 2025 – 4th November 2026 | 34 | 14 | 0 | 24 | 49 |
| 4 | Switzerland | 308 | 24th January 2026 – 4th November 2026 | 6 | 3 | 0 | 14 | 38 |
| 5 | France | 300 | 6th January 2026 – 4th November 2026 | 15 | 3 | 0 | 12 | 34 |
| 6 | Austria | 210 | 12th November 2025 – 23rd June 2026 | 5 | 2 | 0 | 8 | 22 |
| 7 | Italy | 163 | 19th November 2025 – 2nd November 2026 | 9 | 3 | 0 | 12 | 12 |
| 8 | Pakistan | 118 | 11th April 2026 – 27th April 2026 | 0 | 0 | 0 | 1 | 7 |
| 9 | Spain | 105 | 20th February 2026 – 17th May 2026 | 5 | 0 | 0 | 10 | 11 |
| 10 | Germany | 103 | 3rd February 2026 – 26th June 2026 | 7 | 0 | 0 | 7 | 10 |
| Date | Time | User | Type | Name | Attribute | ||
|---|---|---|---|---|---|---|---|
| 4921 | 23rd March 2026 | 17:57:54 UTC | ben_sandi | list | Oldest Ascents | list_type_name | |
|
Before
Bouldering
After
Misc.
|
|||||||
| 4922 | 23rd March 2026 | 17:57:54 UTC | ben_sandi | list | Oldest Ascents | list_type_id | |
|
Before
1
After
5
|
|||||||
| 4923 | 23rd March 2026 | 17:57:07 UTC | ben_sandi | list | Oldest Ascents | list_type_name | |
|
Before
None
After
Bouldering
|
|||||||
| 4924 | 23rd March 2026 | 17:57:07 UTC | ben_sandi | list | Oldest Ascents | list_type_id | |
|
Before
None
After
1
|
|||||||
| 4925 | 23rd March 2026 | 17:57:07 UTC | ben_sandi | list | Oldest Ascents | list_description_pretty | |
|
Before
None
After
<p>This is a list of the oldest ascents at each grade.</p>
|
|||||||
| 4926 | 23rd March 2026 | 17:57:07 UTC | ben_sandi | list | Oldest Ascents | list_definition | |
|
Before
None
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 desc, 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
), oldest as (
select
*
from
ascents_with_ages
where
row_number = 1
)
select
o.grade
,'<a href="/climber/' || o.climber_id::varchar || '">' || o.climber_name || '</a>' as "Climber"
,'<a href="/climb/' || o.climb_id::varchar || '">' || o.climb_name || '</a>' as "Climb"
,o.age_in_days_at_ascent as "Age (Days)"
,o.age_in_years_at_ascent || ' years ' || extract(days from o.ascent_dt_start - (o.date_of_birth + make_interval(years => o.age_in_years_at_ascent))) || ' days' as "Age"
from
oldest o
where
case
when grade_system_id = 1 and order_on >= 13 then 1
when grade_system_id = 2 and order_on >= 60 then 1
when grade_system_id = 3 and order_on >= 37 then 1
else 0
end = 1
and climb_type_id in (1,2,3)
order by
grade_system_id
,order_on
Diff
--- before
|
|||||||
| 4927 | 23rd March 2026 | 17:57:07 UTC | ben_sandi | list | Oldest Ascents | list_description | |
|
Before
None
After
This is a list of the oldest ascents at each grade.
Diff
--- before
|
|||||||
| 4928 | 23rd March 2026 | 17:57:07 UTC | ben_sandi | list | Oldest Ascents | list_name | |
|
Before
None
After
Oldest Ascents
|
|||||||
| 4929 | 23rd March 2026 | 17:31:55 UTC | ben_sandi | climber | Jordan Cannon | instagram_url | |
|
Before
None
After
https://www.instagram.com/cannonjtc/
|
|||||||
| 4930 | 23rd March 2026 | 17:31:08 UTC | ben_sandi | climber | Jordan Cannon | notes_pretty | |
|
Before
None
After
<h3>References</h3>
<p>[1] <a href="https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/" rel="noopener noreferrer">https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/</a></p>
|
|||||||
| 4931 | 23rd March 2026 | 17:31:08 UTC | ben_sandi | climber | Jordan Cannon | notes | |
|
Before
None
After
### References
[1] [https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/](https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/)
Diff
--- before
|
|||||||
| 4932 | 23rd March 2026 | 17:25:50 UTC | ben_sandi | list | Notable Queer Climbers | list_description_pretty | |
|
Before
<p>This list records selected significant achievements by queer climbers. Work in progress!</p>
After
<p>This list records selected significant achievements by queer climbers (in no particular order). Work in progress!</p>
|
|||||||
| 4933 | 23rd March 2026 | 17:25:50 UTC | ben_sandi | list | Notable Queer Climbers | list_description | |
|
Before
This list records selected significant achievements by queer climbers. Work in progress!
After
This list records selected significant achievements by queer climbers (in no particular order). Work in progress!
Diff
--- before
|
|||||||
| 4934 | 23rd March 2026 | 17:17:30 UTC | ben_sandi | list | Notable Queer Climbers | list_description_pretty | |
|
Before
<p>This list records selected significant achievements by queer climbers. Work in progress! DM baz9x on Discord with any additions.</p>
After
<p>This list records selected significant achievements by queer climbers. Work in progress!</p>
|
|||||||
| 4935 | 23rd March 2026 | 17:17:30 UTC | ben_sandi | list | Notable Queer Climbers | list_description | |
|
Before
This list records selected significant achievements by queer climbers. Work in progress! DM baz9x on Discord with any additions.
After
This list records selected significant achievements by queer climbers. Work in progress!
Diff
--- before
|
|||||||
| 4936 | 23rd March 2026 | 17:16:41 UTC | ben_sandi | list | Notable Queer Climbers | list_type_name | |
|
Before
None
After
Misc.
|
|||||||
| 4937 | 23rd March 2026 | 17:16:41 UTC | ben_sandi | list | Notable Queer Climbers | list_type_id | |
|
Before
None
After
5
|
|||||||
| 4938 | 23rd March 2026 | 17:16:41 UTC | ben_sandi | list | Notable Queer Climbers | list_description_pretty | |
|
Before
None
After
<p>This list records selected significant achievements by queer climbers. Work in progress! DM baz9x on Discord with any additions.</p>
|
|||||||
| 4939 | 23rd March 2026 | 17:16:41 UTC | ben_sandi | list | Notable Queer Climbers | list_definition | |
|
Before
None
After
select
c.climber_uuid as row_uuid
,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as "Climber"
,q.achievement as "Achievement"
from
(
values
('Taylor Parsons', 'Trans woman - bouldered up to 8C')
,('Lor Sabourin', 'First non-binary person to send 5.15')
,('Campbell Harrison', 'Olympian')
) as q(climber_name, achievement)
inner join climbers c
on q.climber_name = c.climber_name
where
c.deleted_on is null
order by
c.climber_name
Diff
--- before
|
|||||||
| 4940 | 23rd March 2026 | 17:16:41 UTC | ben_sandi | list | Notable Queer Climbers | list_description | |
|
Before
None
After
This list records selected significant achievements by queer climbers. Work in progress! DM baz9x on Discord with any additions.
Diff
--- before
|
|||||||