|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
У меня есть две таблицы - пользователи, вакансии, отклики на вакансии.] В таблице юзеры и вакансии - у меня хранится вся информация о вакансиях и юзерах. В таблице отклики на вакансии у меня хранятся отклики на них - то есть id вакансии, id откликнувшегося юзера, дата отклика. Мне нужно найти процент тех пользователей, которые откликнулись второй раз, причем на другую вакансию. Это скорее всего делается с помощью оконных функций, но я не понимаю как определить кол-во таких пользователей. Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 20:32 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111, выбираете count id откликнувшегося юзера / ( count из юзеры ) и умножаете на 100 из отклики на вакансии где exists отклик с id вакансии не равным id вакансии это дает вам оба "откликнулись второй раз, причем на другую вакансию" только не второй раз, а больше одного раза cheba111В таблице юзеры и вакансии - у меня хранится вся информация о вакансиях и юзерах. непонятно что это вообще ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 20:48 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
PizzaPizza, вот у меня такие таблицы 1. Users a. Id – идентификатор юзера, UInt32 b. created_at – датавремя регистрации юзера в базе, DateTime c. user_type – 0 если юзер – кандидат, 1 – если рекрутер, UInt8 d. birthday – дата рождения пользователя, Date e. sex – 1 если мужчина, 0 если женщина, UInt8 f. nationality_id – 0 если юзер – РФ, 1 если юзер – не РФ, UInt8 g. last_online_at – время, когда пользователь был последний раз онлайн, DateTime h. region – регион пользователя, String i. city – город пользователя, String 2. Jobs a. Id – идентификатор вакансии, UInt32 b. created_at – датавремя создания вакансии в базе, DateTime c. user_id – идентификатор пользователя, создавшего вакансию, UInt32 d. profession – профессия данной вакансии, String e. region – регион вакансии, String f. city – город вакансии, String 3. Applications (отклики на вакансию) a. Id – идентификатор отклика, UInt32 b. created_at – датавремя создания отклика, DateTime c. job_id – идентификатор вакансии, на которую пришел отклик, UInt32 d. recruiter_id – идентификатор рекрутера, UInt32 В e. candidate_id – идентификатор кандидата, UInt32 В Весь вопрос в том - как гарантировать что именно второй отклик был совершен на другую вакансию... За ответ - спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 20:54 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111, то есть у пользователя может быть множество откликов на разные вакансии и у меня есть информация о дате отклика то есть мне нужно как-то отсортировать по дате информацию по откликам на вакансии по каждому юзеру - и взять самые старые записи ( соот-но первый и второй отклик пользователя) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 20:56 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111 В таблице юзеры и вакансии - у меня хранится вся информация о вакансиях и юзерах. cheba111 Это скорее всего делается с помощью оконных функций, Конечно, можно, но зачем? Есть более простое решение, например. 1. Посчитать количество откликнувшихся второй раз. Подсказка - используйте HAVING. 2. Поделить на количество всего откликнувшихся. Надеюсь, тут подсказок не нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 20:57 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
SergiiW, спасибо за ответ но как гарантировать, что откликнувшиеся второй раз - откликнулись на другую вакансию? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 20:59 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111, cheba111 но как гарантировать, что откликнувшиеся второй раз - откликнулись на другую вакансию? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 21:03 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
SergiiW, спасибо за ответ, но ваш ответ не гарантирует, что именно второй отклик человека был на другую вакансию. Поясню: человек оставляет отклики на вакансии, есть даты откликов. Вот каким то образом мне нужно определить кол-во людей, которые именно во второй раз откликнулись на вакансию отличную от вакансии первого отклика. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 21:08 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111, Код: sql 1.
Вот это условие и гарантирует, что был отклик на 2 и более вакансии от оного кандидата (candidate_id). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 21:15 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
SergiiW, мне нужно рассмотреть ситуацию 2-х откликов То есть если человек первый раз откликнулся на вакансию x , второй раз на вакансию x, третий на вакансию y - ваш запрос посчитает это за истину В моем же случае необходимо считать за истину следующий случай - первый раз на x, второй на y Третий, четвертый не интересуют.... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 21:19 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111 У меня есть две таблицы - пользователи, вакансии, отклики на вакансии.] В таблице юзеры и вакансии - у меня хранится вся информация о вакансиях и юзерах. В таблице отклики на вакансии у меня хранятся отклики на них - то есть id вакансии, id откликнувшегося юзера, дата отклика. Звучит как голимый БСК. Покажите это в коде. Выложите полные CREATE TABLE всех таблиц, INSERT INTO с примером данных (5-10 записей на таблицу) и требуемый результат для именно таких данных. Желательно откровенно ненужные для вопроса и не влияющие на результат поля удалить. cheba111 нужно найти процент тех пользователей, которые откликнулись второй раз, причем на другую вакансию. А если он откликнулся второй раз на ту же вакансию, а третий раз на другую - его считать или нет? А в общем - не вижу ну ничего сложного. Если MySQL - версии 8+. На старой 5.х будет немного сложнее... но тоже не бином Ньютона. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 21:21 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
Akina, >А если он откликнулся второй раз на ту же вакансию, а третий раз на другую - его считать или нет? нет, в таком случае его не нужно считать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 21:25 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111 нет, в таком случае его не нужно считать Только если откликнулся на две вакансии не важно сколько раз Код: sql 1.
Если было два отклика и на разные вакансии Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 21:32 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
Схематично: Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 22:08 |
|
Пожалуйста помогите с запросом
|
|||
---|---|---|---|
#18+
cheba111 Весь вопрос в том - как гарантировать что именно второй отклик был совершен на другую вакансию... За ответ - спасибо Именно второй - примеры с ROW_NUMBER() Хотя рекомендую оценить задачу еще раз - возможно ошибка, так как с наскоку сложно найти смысл в условии - почему не третий или четвертый. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2022, 22:40 |
|
|
start [/forum/topic.php?fid=47&gotonew=1&tid=1827781]: |
0ms |
get settings: |
3ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
46ms |
get topic data: |
2ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
311ms |
get tp. blocked users: |
0ms |
others: | 5ms |
total: | 378ms |
0 / 0 |