remus

Badges

OG100 Contributions1,000 Contributions10,000 Contributions100,000 Contributions10 Posts100 Posts

Contributions

Posts

1 Day

246

7 Days

1500

4 Weeks

7093

All Time

162947

Current Streak

44

Longest Streak

181

Top Contributions

Name Type # Changes Last Updated First Updated
1 https://www.youtube.com/watch?v=kpbCmJGkKHE media 108 14th July 2024 14th July 2024
2 https://www.instagram.com/p/DF5XgLjMdJu/ media 74 21st February 2026 10th February 2025
3 https://www.instagram.com/p/DSTP2Z8ANtI/ media 72 1st April 2026 16th December 2025
4 Hard Rock list 67 19th August 2025 27th July 2024
5 https://www.instagram.com/p/DGD2HHVM4yn/ media 65 21st February 2026 14th February 2025
6 Remus Knowles climber 56 8th April 2026 30th March 2024
7 https://www.instagram.com/p/DVi7bJmjNhO/ media 55 16th March 2026 6th March 2026
8 https://open.spotify.com/episode/0cHKL3jWvp8A4QcZ1LS0YM media 51 6th October 2024 10th April 2024
9 https://www.instagram.com/p/BcX-gR8llwj/ media 48 23rd January 2026 24th January 2024
10 Mountain 132 library item 46 13th January 2026 16th October 2025

Recent Contributions

Date Time User Type Name Attribute
241 4th May 2026 06:04:19 UTC remus ascent Hyunbin Min's ascent of The Blueprint ascent_style_id
Before
None
After
1
242 4th May 2026 06:04:19 UTC remus ascent Hyunbin Min's ascent of The Blueprint ascent_dt_start
Before
None
After
2026-01-01
243 4th May 2026 06:04:19 UTC remus ascent Hyunbin Min's ascent of The Blueprint notes_pretty
Before
None
After
<h3>References</h3> <p>[1] <a href="https://www.instagram.com/p/DX1zTWBk6Z3/?img_index=1" rel="noopener noreferrer">https://www.instagram.com/p/DX1zTWBk6Z3/?img_index=1</a></p>
244 4th May 2026 06:04:01 UTC remus climb The Blueprint climb_type
Before
None
After
2
245 4th May 2026 06:04:01 UTC remus climb The Blueprint climb_name
Before
None
After
The Blueprint
246 4th May 2026 06:04:01 UTC remus climb The Blueprint grade_id
Before
None
After
40
247 3rd May 2026 20:55:29 UTC remus climber Oceana Mckenzie Website
Before
None
After
https://www.threads.com/@oceana_climbing
248 3rd May 2026 20:46:02 UTC remus list Strong Norwegian Male Sport Climbers list_description
Before
The best Norwegian sport climbers. This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
After
The best Norwegian male sport climbers. This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
Diff
--- before

+++ after

@@ -1,3 +1,3 @@

-The best Norwegian sport climbers.
+The best Norwegian male sport climbers.

This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
249 3rd May 2026 20:46:02 UTC remus list Strong Norwegian Male Sport Climbers list_definition
Before
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 1 and (c.country_id = 5 or cm.value::int = 5) and cl.grade_id >= 17 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful and not a.ascent_type_id = 6 group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
After
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.gender = false and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 1 and (c.country_id = 5 or cm.value::int = 5) and cl.grade_id >= 17 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful and not a.ascent_type_id = 6 group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
Diff
--- before

+++ after

@@ -24,6 +24,7 @@


where
a.deleted_on is null
+ and c.gender = false
and c.deleted_on is null
and cl.deleted_on is null
and cl.climb_type = 1
250 3rd May 2026 20:46:02 UTC remus list Strong Norwegian Male Sport Climbers list_name
Before
Strong Norwegian Sport Climbers
After
Strong Norwegian Male Sport Climbers
251 3rd May 2026 20:46:02 UTC remus list Strong Norwegian Male Sport Climbers list_description_pretty
Before
<p>The best Norwegian sport climbers.</p> <p>This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.</p>
After
<p>The best Norwegian male sport climbers.</p> <p>This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.</p>
252 3rd May 2026 20:45:42 UTC remus list Strong Norwegian Male Boulderers list_description
Before
The best Norwegian boulderers. This list aims to list any Norwegian boulderer who has climbed 8B or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
After
The best Norwegian male boulderers. This list aims to list any Norwegian boulderer who has climbed 8B or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
Diff
--- before

+++ after

@@ -1,3 +1,3 @@

-The best Norwegian boulderers.
+The best Norwegian male boulderers.

This list aims to list any Norwegian boulderer who has climbed 8B or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
253 3rd May 2026 20:45:42 UTC remus list Strong Norwegian Male Boulderers list_definition
Before
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 2 and (c.country_id = 5 or cm.value::int = 5) and g.order_on >= 39 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
After
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.gender = false and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 2 and (c.country_id = 5 or cm.value::int = 5) and g.order_on >= 39 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
Diff
--- before

+++ after

@@ -1,46 +1,47 @@

-select
- c.climber_uuid as row_uuid
- ,'' || c.climber_name || '' as Climber
- ,g.grade as Grade
- ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+select
+ c.climber_uuid as row_uuid
+ ,'' || c.climber_name || '' as Climber
+ ,g.grade as Grade
+ ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+
+from
+ ascents a
+ inner join ascent_styles ast
+ on a.ascent_style_id = ast.ascent_style_id
+ inner join climbers c
+ on a.climber_id = c.climber_id
+ inner join climbs cl
+ on a.climb_id = cl.climb_id
+ inner join grades g
+ on cl.grade_id = g.grade_id
+ inner join hardest_ascent ha
+ on c.climber_id = ha.climber_id
+ and cl.grade_id = ha.max_grade_id
+ and cl.climb_type_id = ha.climb_type
+ left join climber_meta cm
+ on cm.climber_id = c.climber_id
+ and cm.climber_meta_key_id = 35
+
+where
+ a.deleted_on is null
+ and c.gender = false
+ and c.deleted_on is null
+ and cl.deleted_on is null
+ and cl.climb_type = 2
+ and (c.country_id = 5 or cm.value::int = 5)
+ and g.order_on >= 39
+ and c.exclude_reason is null
+ and cl.exclude_reason is null
+ and a.exclude_reason is null
+ and ast.ascent_successful
+
+group by
+ c.climber_name
+ ,g.grade
+ ,c.climber_id
+
+order by
+ g.grade desc
+ ,count(*) desc
+ ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))

-from
- ascents a
- inner join ascent_styles ast
- on a.ascent_style_id = ast.ascent_style_id
- inner join climbers c
- on a.climber_id = c.climber_id
- inner join climbs cl
- on a.climb_id = cl.climb_id
- inner join grades g
- on cl.grade_id = g.grade_id
- inner join hardest_ascent ha
- on c.climber_id = ha.climber_id
- and cl.grade_id = ha.max_grade_id
- and cl.climb_type_id = ha.climb_type
- left join climber_meta cm
- on cm.climber_id = c.climber_id
- and cm.climber_meta_key_id = 35
-
-where
- a.deleted_on is null
- and c.deleted_on is null
- and cl.deleted_on is null
- and cl.climb_type = 2
- and (c.country_id = 5 or cm.value::int = 5)
- and g.order_on >= 39
- and c.exclude_reason is null
- and cl.exclude_reason is null
- and a.exclude_reason is null
- and ast.ascent_successful
-
-group by
- c.climber_name
- ,g.grade
- ,c.climber_id
-
-order by
- g.grade desc
- ,count(*) desc
- ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
-
254 3rd May 2026 20:45:42 UTC remus list Strong Norwegian Male Boulderers list_description_pretty
Before
<p>The best Norwegian boulderers.</p> <p>This list aims to list any Norwegian boulderer who has climbed 8B or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.</p>
After
<p>The best Norwegian male boulderers.</p> <p>This list aims to list any Norwegian boulderer who has climbed 8B or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.</p>
255 3rd May 2026 20:45:42 UTC remus list Strong Norwegian Male Boulderers list_name
Before
Strong Norwegian Boulderers
After
Strong Norwegian Male Boulderers
256 3rd May 2026 20:42:25 UTC remus list Strong Norwegian Male Sport Climbers list_description_pretty
Before
<p>The best Norwegian sport climbers.</p> <p>This list aims to list any Norwegian sport climber who has climbed 9a or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.</p>
After
<p>The best Norwegian sport climbers.</p> <p>This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.</p>
257 3rd May 2026 20:42:25 UTC remus list Strong Norwegian Male Sport Climbers list_description
Before
The best Norwegian sport climbers. This list aims to list any Norwegian sport climber who has climbed 9a or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
After
The best Norwegian sport climbers. This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
Diff
--- before

+++ after

@@ -1,3 +1,3 @@

The best Norwegian sport climbers.

-This list aims to list any Norwegian sport climber who has climbed 9a or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
+This list aims to list any Norwegian sport climber who has climbed 8c or harder. It attempts to be definitive in terms of the people included but does not attempt to enumerate every relevant ascent.
258 3rd May 2026 20:42:07 UTC remus list Strong Norwegian Male Sport Climbers list_definition
Before
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 1 and (c.country_id = 5 or cm.value::int = 5) and cl.grade_id >= 19 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful and not a.ascent_type_id = 6 group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
After
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 1 and (c.country_id = 5 or cm.value::int = 5) and cl.grade_id >= 17 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful and not a.ascent_type_id = 6 group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
Diff
--- before

+++ after

@@ -1,47 +1,47 @@

-select
- c.climber_uuid as row_uuid
- ,'' || c.climber_name || '' as Climber
- ,g.grade as Grade
- ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+select
+ c.climber_uuid as row_uuid
+ ,'' || c.climber_name || '' as Climber
+ ,g.grade as Grade
+ ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+
+from
+ ascents a
+ inner join ascent_styles ast
+ on a.ascent_style_id = ast.ascent_style_id
+ inner join climbers c
+ on a.climber_id = c.climber_id
+ inner join climbs cl
+ on a.climb_id = cl.climb_id
+ inner join grades g
+ on cl.grade_id = g.grade_id
+ inner join hardest_ascent ha
+ on c.climber_id = ha.climber_id
+ and cl.grade_id = ha.max_grade_id
+ and cl.climb_type_id = ha.climb_type
+ left join climber_meta cm
+ on cm.climber_id = c.climber_id
+ and cm.climber_meta_key_id = 35
+
+where
+ a.deleted_on is null
+ and c.deleted_on is null
+ and cl.deleted_on is null
+ and cl.climb_type = 1
+ and (c.country_id = 5 or cm.value::int = 5)
+ and cl.grade_id >= 17
+ and c.exclude_reason is null
+ and cl.exclude_reason is null
+ and a.exclude_reason is null
+ and ast.ascent_successful
+ and not a.ascent_type_id = 6
+
+group by
+ c.climber_name
+ ,g.grade
+ ,c.climber_id
+
+order by
+ g.grade desc
+ ,count(*) desc
+ ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))

-from
- ascents a
- inner join ascent_styles ast
- on a.ascent_style_id = ast.ascent_style_id
- inner join climbers c
- on a.climber_id = c.climber_id
- inner join climbs cl
- on a.climb_id = cl.climb_id
- inner join grades g
- on cl.grade_id = g.grade_id
- inner join hardest_ascent ha
- on c.climber_id = ha.climber_id
- and cl.grade_id = ha.max_grade_id
- and cl.climb_type_id = ha.climb_type
- left join climber_meta cm
- on cm.climber_id = c.climber_id
- and cm.climber_meta_key_id = 35
-
-where
- a.deleted_on is null
- and c.deleted_on is null
- and cl.deleted_on is null
- and cl.climb_type = 1
- and (c.country_id = 5 or cm.value::int = 5)
- and cl.grade_id >= 19
- and c.exclude_reason is null
- and cl.exclude_reason is null
- and a.exclude_reason is null
- and ast.ascent_successful
- and not a.ascent_type_id = 6
-
-group by
- c.climber_name
- ,g.grade
- ,c.climber_id
-
-order by
- g.grade desc
- ,count(*) desc
- ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
-
259 3rd May 2026 20:41:35 UTC remus list Strong Norwegian Female Sport Climbers list_definition
Before
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.gender = true and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 1 and (c.country_id = 5 or cm.value::int = 5) and cl.grade_id >= 15 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful and not a.ascent_type_id = 6 group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
After
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.gender = true and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 1 and (c.country_id = 5 or cm.value::int = 5) and cl.grade_id >= 15 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful and not a.ascent_type_id = 6 group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
Diff
--- before

+++ after

@@ -1,48 +1,48 @@

-select
- c.climber_uuid as row_uuid
- ,'' || c.climber_name || '' as Climber
- ,g.grade as Grade
- ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+select
+ c.climber_uuid as row_uuid
+ ,'' || c.climber_name || '' as Climber
+ ,g.grade as Grade
+ ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+
+from
+ ascents a
+ inner join ascent_styles ast
+ on a.ascent_style_id = ast.ascent_style_id
+ inner join climbers c
+ on a.climber_id = c.climber_id
+ inner join climbs cl
+ on a.climb_id = cl.climb_id
+ inner join grades g
+ on cl.grade_id = g.grade_id
+ inner join hardest_ascent ha
+ on c.climber_id = ha.climber_id
+ and cl.grade_id = ha.max_grade_id
+ and cl.climb_type_id = ha.climb_type
+ left join climber_meta cm
+ on cm.climber_id = c.climber_id
+ and cm.climber_meta_key_id = 35
+
+where
+ a.deleted_on is null
+ and c.gender = true
+ and c.deleted_on is null
+ and cl.deleted_on is null
+ and cl.climb_type = 1
+ and (c.country_id = 5 or cm.value::int = 5)
+ and cl.grade_id >= 15
+ and c.exclude_reason is null
+ and cl.exclude_reason is null
+ and a.exclude_reason is null
+ and ast.ascent_successful
+ and not a.ascent_type_id = 6
+
+group by
+ c.climber_name
+ ,g.grade
+ ,c.climber_id
+
+order by
+ g.grade desc
+ ,count(*) desc
+ ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))

-from
- ascents a
- inner join ascent_styles ast
- on a.ascent_style_id = ast.ascent_style_id
- inner join climbers c
- on a.climber_id = c.climber_id
- inner join climbs cl
- on a.climb_id = cl.climb_id
- inner join grades g
- on cl.grade_id = g.grade_id
- inner join hardest_ascent ha
- on c.climber_id = ha.climber_id
- and cl.grade_id = ha.max_grade_id
- and cl.climb_type_id = ha.climb_type
- left join climber_meta cm
- on cm.climber_id = c.climber_id
- and cm.climber_meta_key_id = 35
-
-where
- a.deleted_on is null
- and c.gender = true
- and c.deleted_on is null
- and cl.deleted_on is null
- and cl.climb_type = 1
- and (c.country_id = 5 or cm.value::int = 5)
- and cl.grade_id >= 15
- and c.exclude_reason is null
- and cl.exclude_reason is null
- and a.exclude_reason is null
- and ast.ascent_successful
- and not a.ascent_type_id = 6
-
-group by
- c.climber_name
- ,g.grade
- ,c.climber_id
-
-order by
- g.grade desc
- ,count(*) desc
- ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
-
260 3rd May 2026 20:41:29 UTC remus list Strong Norwegian Female Boulderers list_definition
Before
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.gender = true and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 2 and (c.country_id = 5 or cm.value::int = 5) and g.order_on >= 35 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
After
select c.climber_uuid as row_uuid ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,g.grade as Grade ,string_agg('<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs from ascents a inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join hardest_ascent ha on c.climber_id = ha.climber_id and cl.grade_id = ha.max_grade_id and cl.climb_type_id = ha.climb_type left join climber_meta cm on cm.climber_id = c.climber_id and cm.climber_meta_key_id = 35 where a.deleted_on is null and c.gender = true and c.deleted_on is null and cl.deleted_on is null and cl.climb_type = 2 and (c.country_id = 5 or cm.value::int = 5) and g.order_on >= 35 and c.exclude_reason is null and cl.exclude_reason is null and a.exclude_reason is null and ast.ascent_successful group by c.climber_name ,g.grade ,c.climber_id order by g.grade desc ,count(*) desc ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
Diff
--- before

+++ after

@@ -1,47 +1,47 @@

-select
- c.climber_uuid as row_uuid
- ,'' || c.climber_name || '' as Climber
- ,g.grade as Grade
- ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+select
+ c.climber_uuid as row_uuid
+ ,'' || c.climber_name || '' as Climber
+ ,g.grade as Grade
+ ,string_agg('' || cl.climb_name || '', ', ' order by order_dt(a.ascent_dt_start, a.ascent_dt_end)) as Climbs
+
+from
+ ascents a
+ inner join ascent_styles ast
+ on a.ascent_style_id = ast.ascent_style_id
+ inner join climbers c
+ on a.climber_id = c.climber_id
+ inner join climbs cl
+ on a.climb_id = cl.climb_id
+ inner join grades g
+ on cl.grade_id = g.grade_id
+ inner join hardest_ascent ha
+ on c.climber_id = ha.climber_id
+ and cl.grade_id = ha.max_grade_id
+ and cl.climb_type_id = ha.climb_type
+ left join climber_meta cm
+ on cm.climber_id = c.climber_id
+ and cm.climber_meta_key_id = 35
+
+where
+ a.deleted_on is null
+ and c.gender = true
+ and c.deleted_on is null
+ and cl.deleted_on is null
+ and cl.climb_type = 2
+ and (c.country_id = 5 or cm.value::int = 5)
+ and g.order_on >= 35
+ and c.exclude_reason is null
+ and cl.exclude_reason is null
+ and a.exclude_reason is null
+ and ast.ascent_successful
+
+group by
+ c.climber_name
+ ,g.grade
+ ,c.climber_id
+
+order by
+ g.grade desc
+ ,count(*) desc
+ ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))

-from
- ascents a
- inner join ascent_styles ast
- on a.ascent_style_id = ast.ascent_style_id
- inner join climbers c
- on a.climber_id = c.climber_id
- inner join climbs cl
- on a.climb_id = cl.climb_id
- inner join grades g
- on cl.grade_id = g.grade_id
- inner join hardest_ascent ha
- on c.climber_id = ha.climber_id
- and cl.grade_id = ha.max_grade_id
- and cl.climb_type_id = ha.climb_type
- left join climber_meta cm
- on cm.climber_id = c.climber_id
- and cm.climber_meta_key_id = 35
-
-where
- a.deleted_on is null
- and c.gender = true
- and c.deleted_on is null
- and cl.deleted_on is null
- and cl.climb_type = 2
- and (c.country_id = 5 or cm.value::int = 5)
- and g.order_on >= 35
- and c.exclude_reason is null
- and cl.exclude_reason is null
- and a.exclude_reason is null
- and ast.ascent_successful
-
-group by
- c.climber_name
- ,g.grade
- ,c.climber_id
-
-order by
- g.grade desc
- ,count(*) desc
- ,min(order_dt(a.ascent_dt_start, a.ascent_dt_end))
-

< Page 13 >