«любимая» колонка mysql - PullRequest
       10

«любимая» колонка mysql

0 голосов
/ 25 ноября 2011

Извините за вопрос, он был немного расплывчатым, позвольте мне перефразировать мой вопрос.

Таблицы:

  • пользователи: id, имя
  • деятельности:id, когда, tagId
  • теги: id, name

Таким образом, у пользователя есть действия, каждое действие может иметь тег, например «чтение почты» будет тегом для действия,Итак, давайте рассмотрим пример:

  • пользователь: 1, майк
  • активность: 1, сегодня, 1
  • тег: 1, чтение электронной почты

А у пользователя mike есть еще одно действие:

  • активность: 2, завтра, 2
  • тег: 1, чтение электронной почты

сейчасВы можете видеть, что у пользователя "mike" есть 2 действия с "чтением электронной почты", поэтому, когда пользователь создает много действий, мне нужно получить любимый (наиболее используемый) тег.

1 Ответ

2 голосов
/ 25 ноября 2011

Следующий SQL вернет имя тега, который используется наиболее конкретным пользователем (в данном случае это 123)

если вы хотите получить список тегов в зависимости от того, как часто они использовались, Вы можете изменить номер в limit 1.

select tags.name 
from tags 
left join items on tags.id=items.tagId 
where items.userId=123
group by tags.name 
order by count(items.id) 
desc limit 1;
...