2014-01-30 2 views
1

Из таблицы мне нужно выбрать 2 столбца и группу по одному столбцу.Выберите 2 колонки и посчитайте группу

Result.select(:word_id, :my_url).group(:my_url).count 

Так что я написал эту строку, но вывод:

[...] "https://www.url.com/"=>2 [...] 

И мне нужно, чтобы это было:

["https://www.url.com/", 243]=>1 

я буду получать этот вывод только если группа I по :my_url and :word_id но тогда я не буду знать, сколько раз дублировал :my_url.

Как я могу это решить?

ответ

0

Я думаю, вы пытаетесь сделать две разные вещи, используя одну строку. И на основании этого это невозможно. Группа by: my_url подсчитывает, сколько раз дублируется, не беспокоясь о: word_id, который только что выбирается (AKA вытаскивается из базы данных). Вы можете сделать:

result = Result.select(:my_url, :word_id) 

И затем, что вы можете сделать две разные вещи:

result.group(:my_url).count 
result.count 

Другой вариант может быть перефразировать ваш вопрос о том, почему вам нужна эта конфигурация может облегчить вам помочь ,

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