2015-06-08 4 views
3

В настоящее время я пытаюсь получить 100 лучших java-репозиториев, имеющих максимальное количество звезд и менее 100 коммитов с использованием GitHub Archive и BigQuery. Не могли бы вы помочь найти запрос на получение 100 лучших репозиториев, имеющих максимальное количество звезд.Как получить java-репозитории с максимальным количеством звезд в GitHub-Archive

Окончательный запрос, который я получил это:

SELECT repository_name 
FROM [githubarchive:github.timeline] 
WHERE repository_language = 'Java' 
AND PARSE_UTC_USEC(repository_created_at) BETWEEN PARSE_UTC_USEC('1996-01-01 00:00:00') AND PARSE_UTC_USEC('2015-05-30 00:00:00') 
GROUP BY repository_name 
HAVING COUNT(*) < 100 
ORDER BY COUNT(*) DESC 
LIMIT 100 

ответ

3

Я думаю, что этот запрос будет работать для вас. Ваш существующий запрос не будет выполняться, потому что предложение ORDER BY ссылается на совокупный расчет. ORDER BY требует, чтобы выражение ссылалось на поле. Перемещение COUNT в предложение SELECT фиксирует эту часть.

Кроме того, если вы ищете подсчеты git commits, вы должны действительно проверить, что событие временной шкалы является фиксацией, добавив AND payload_commit IS NOT NULL в пункт WHERE!

SELECT 
    repository_name, 
    COUNT(1) AS CommitCount 
FROM 
    [githubarchive:github.timeline] 
WHERE 
    repository_language = 'Java' 
    AND PARSE_UTC_USEC(repository_created_at) 
    BETWEEN PARSE_UTC_USEC('1996-01-01 00:00:00') 
    AND PARSE_UTC_USEC('2015-05-30 00:00:00') 
AND payload_commit IS NOT NULL 
GROUP BY 
    repository_name 
HAVING 
    CommitCount < 100 
ORDER BY 
    CommitCount DESC 
LIMIT 
    100 
+0

большое спасибо за ответ ... как я первый фильтровать проекты, имеющие максимальное количество звезд, а затем фильтровать эти проекты на основе количества фиксаций – user2475467

+0

Это не для меня ясно, как GitHub выставляет " звезда "в данных временной шкалы. Кажется, что ни один из типов событий не соответствует. Возможно, они добавили звезды после создания этого архива? –

 Смежные вопросы

  • Нет связанных вопросов^_^