Would it be possible to work out the fastest average and slowest single compared to each other. e.g. I am 90th in the world for skewb average and 266th for single.
[NOPARSE]SELECT personId, onehanded 'onehanded[T]', regular 'regular[T]', onehanded-regular 'onehanded-regular[T]' FROM
(SELECT personId, best regular FROM RanksSingle WHERE eventId='333') a NATURAL JOIN
(SELECT personId, best onehanded FROM RanksSingle WHERE eventId='333oh') b
ORDER BY onehanded-regular
LIMIT 50[/NOPARSE]
Would it be possible to work out the fastest average and slowest single compared to each other. e.g. I am 90th in the world for skewb average and 266th for single.
For 3x3, the biggest discrepancy is Kasoju Chandra Kanth who has a 13.36 single and a best average of 48.87.
Since you asked about Skewb, the biggest discrepancy there is Cody Brown who has a best single of 3.38 (68th in the world) and a best average of 25.86 (2131st in the world). Wow.
What percentage of competitors have gone to at least one competition per year since their first competition? In general, and by year of first competition, if possible.
Do you mean you have it and want to show it, or do you mean you'd like someone (like me) to show it? WCA now considers birthdaydate/age data private and not to be used for something like this. I myself am in fact personally forbidden to give away such data. But if some "outsider" like you (I mean, without access to our data) somehow managed to come up with such a list, perhaps because there's a facebook group where all the WCA seniors meet and exchange their data , I guess that might not be forbidden (except maybe by laws, which was one of the reasons for WCA to change its policy).
Vincent Hartanto Utomo is 11th without a 7x7 mean, even though he could probably get a good enough mean to beat Antoine if he borrowed a cube from someone at a comp and practiced a bit.
What percentage of competitors have gone to at least one competition per year since their first competition? In general, and by year of first competition, if possible.
Note that the 100% for 2014 is meaningless, since I only looked up to the end of 2014 -- it's just useful as a debug to help confirm the query I used worked. You could do the same thing including 2015, but obviously that would give much lower percentages since we're so early in the year.
Here's the query I used:
select AVG(s/t), y FROM (select y, SUM(ny=c) as s, count(*) as t from (select MIN(year) as y, 2015 - MIN(year) as ny, count(distinct year) as c, personID from Results, Competitions where Results.competitionID = Competitions.id and year < 2015 and year > 2000 group by personID) as t1 group by personID) as t2 group by y order by y asc;
[NOPARSE]select countryId, avg(competitors) avgCompetitors, count(*) competitions, min(competitors) minCompetitors, max(competitors) maxCompetitors
from (select competitionId id, count(distinct personId) competitors from Results group by competitionId) tmp
natural join Competitions
group by countryId
order by avgCompetitors desc[/NOPARSE]
[NOPARSE]select countryId, avg(competitors) avgCompetitors, count(*) competitions, min(competitors) minCompetitors, max(competitors) maxCompetitors
from (select countryId, sum(countryId=personCountryId) competitors
from
(select distinct competitionId, countryId, personId, personCountryId
from Competitions join Results on Competitions.id=competitionId) tmp
group by competitionId) tmp2
group by countryId
order by avgCompetitors desc;[/NOPARSE]
[NOPARSE]select countryId, avg(competitors) avgCompetitors, count(*) competitions, min(competitors) minCompetitors, max(competitors) maxCompetitors
from (select countryId, sum(countryId<>personCountryId) competitors
from
(select distinct competitionId, countryId, personId, personCountryId
from Competitions join Results on Competitions.id=competitionId) tmp
group by competitionId) tmp2
group by countryId
order by avgCompetitors desc;[/NOPARSE]
[NOPARSE]select countryId, avg(foreigners)/avg(citizens) 'foreigners per citizen', avg(foreigners) avgForeigners, avg(citizens) avgCitizens, count(*) competitions
from (select countryId, sum(countryId=personCountryId) citizens, sum(countryId<>personCountryId) foreigners
from
(select distinct competitionId, countryId, personId, personCountryId
from Competitions join Results on Competitions.id=competitionId) tmp
group by competitionId) tmp2
group by countryId
order by 2 desc;[/NOPARSE]
[NOPARSE]select personCountryId Country, count(distinct personId) Cubers, if(personCountryId='Brazil', 'many', group_concat(distinct personName)) ''
from Results
where competitionId in (select id from Competitions where countryId='Brazil')
group by personCountryId
order by Cubers desc, Country;[/NOPARSE]