@3gsxarakiri
Пытаюсь разобраться в этом гемморое

Как решить проблему с пониманием sql?

Суть такая, вроде в программировании я разбираюсь, тут пробелов у меня нет, но вот любой вопрос относящийся к базам, не важно каким SQL \ No SQL \ ElasticSearch (знаю, что это не база, но проблема тоже есть), меня отправляет в ступор на неделю.. а все из-за того, что я не могу даже представить, как построить запрос, хоть и знаю синтаксис той или иной базы.
Недавний случай, попросили в эластике вывести топ тегов на основе всех документов. Если через ЯП я это решу за пару минут, но это будет сильно не эффективно, так как с еластики быстрее, то напрямую составить запрос к ней я не могу... и не могу не потому что не знаю, как описать, не знаю как его даже сформировать....
взять весь контент.... получить с него теги.... отсортировать теги... подчитать их количество..

Я понимаю, что это очень большой минус и мне очень хочется его решить, но я не знаю как:( я думал решать похожие задачи в свободное время, вроде решаю, пытаюсь и понять и найти ответ, чтобы его понять. Но все равно, затыкаюсь....

Подскажите, как Вы, опытные люди, понимаете как строить запросы, может надо что-то почитать, что толково мне это разъяснит, а то невозможно(
  • Вопрос задан
  • 413 просмотров
Решения вопроса 3
longclaps
@longclaps
взять весь контент.... получить с него теги.... отсортировать теги... подчитать их количество..

SQL - декларативный язык, пришла пора узнать об этом побольше )
Ответ написан
Комментировать
Ptolemy_master
@Ptolemy_master
Судя по всему, у вас просто отсутствует база. Возьмите любую книгу по SQL и прочтите ее с начала до конца, выполняя по ходу упражнения. Уверена, после этого вы зависать больше не будете. Удачи.

Да, еще один момент. Если не хотите зависать каждый раз, нужно запросы составлять периодически. У меня похожая проблема с регулярными выражениями - так как я пользуюсь ими очень-очень редко, то каждый раз задача по ним вводит в ступор. Но именно по той причине, что я пользуюсь ими редко, меня это устраивает - просто нет смысла тратить времени на изучение правил и синтаксиса - все равно за полгода или год забуду.
Ответ написан
Комментировать
@asd111
Гугли что то наподобие
Elasticsearch get top 10 most frequently occurring values of a field

https://www.elastic.co/guide/en/elasticsearch/refe...

{  
   "size":0,
   "aggs":{  
      "top-terms-aggregation":{  
         "terms":{  
            "field":"field_name",
            "size":10
         }
      }
   }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Смешались в кучу кони, люди...
SQL - это декларативный ЯП, основанный на РМД.
NoSQL - это общее название все что не SQL, но БД.
В каждом случае нужно учить/понимать что-то свое.
Т.е. общего понимания для SQL/NoSQL нет.
Но если понимать РМД и знать SQL, то можно более-менее работать со всеми SQL БД.
С NoSQL - не так. Каждый NoSQL уникален. Соответственно понимать нужно каждый по отдельности
Ответ написан
Комментировать
@potan
Функциональный программист
SQL основан на математике - реляционной алгебре. Стоит сначала разобраться с основными математическими понятиями, множество, отношение, фактор-множество, потом и SQL станет понятнее. Да и серьезные языки программирования тоже.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы