Кратные итоги в одном запросе - PullRequest
0 голосов
/ 02 декабря 2011

У меня есть таблица базы данных рабочих мест.Каждое задание было создано пользователем.Есть много пользователей.Таблица пользователей содержит user_id и адрес электронной почты пользователей.

---------------
**JOBS_TABLE**
---------------
JOB_ID
USER_ID
---------------

---------------
**USERS_TABLE**
---------------
USER_ID
USER_EMAIL
---------------

Я хочу знать, сколько заданий создал каждый пользователь.Возможно ли сделать это только на SQL?

В идеале мне бы хотелось, чтобы результаты были такими.Я использую MySQL.

Спасибо

Ответы [ 3 ]

2 голосов
/ 02 декабря 2011

Это стандартный запрос количества (пользователь LEFT JOIN вместо INNER JOIN, если вы хотите все, даже если у них нет записи о работе):

SELECT
  U.USER_ID,
  COUNT(JOB_ID) AS JOB_COUNT,
  U.USER_EMAIL
FROM
  USERS_TABLE U

  INNER JOIN JOBS_TABLE J ON
  U.USER_ID = J.USER_ID
GROUP BY
  U.USER_ID,
  U.USER_EMAIL
0 голосов
/ 02 декабря 2011

ВЫБРАТЬ u.user_id, u.user_email, считать (j.job_id) в качестве учетной записи FROM users u присоединяться к заданиям j в группе u.user_id = j.user_id с помощью u.user_id

Этот запрос будет выводиться следующим образом:

user_id user_email jobcount
1 123@abc.com 3
2 456@def.com 1

0 голосов
/ 02 декабря 2011
    select user.USER_ID,user.USER_EMAIL,count(distinct jobs.JOB_ID) 
from USERS_TABLE user natural join JOBS_TABLE jobs group by user.USER_ID   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...