|
|
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
Есть какая то таблица(t1) в которой есть поля id, user_id. Нужно сосчитать сколько юзеров зашло новых и сколько старых. Пример: (id,user_id) (1,4) (2,6) (3,8) (4,4) (5,9) (6,4) (7,6) (8,6) (9,11) (10,12) Должно вывести так: (Первичные_юзеры, Вторичные_юзеры) (4,6) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:16 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry, и вас не возможно понять. как вы определяете кто новый юзер а кто старый? первичный и вторичные это кто? новый и старый? зашло за какой то промежуток? дали уравнение без неизвестной и с малым количеством данных. перефразируйте вопрос более информативно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:23 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
sagengu, если в поле user_id он присутствует один раз значит он первичный(то есть заходил один раз) например как юзер 8,9,11,12, а другие юзеры заходили несколько раз их в Вторичные. Зашло за промежуток мне просто нужно узнать сколько заходило с начала 2015 года то есть where date>='01.01.2015' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:28 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry, почитать про count(...) | count(distinct ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:39 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry, group by по пользователю + group by по count=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:43 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
Да я уже побывал и у меня не получилось, может конечно я не так делал я ещё новичок. Но суть в чем - когда берёшь SELECT user_id, COUNT(*) то дальше можно сравнивать если каунт=1 то плюсуем первичного если <>1 то значит вторичный плюсуем но если берём SELECT id, user_id, COUNT(*) тогда не работает. Подскажите способ? Я пишу функцию коротая возвращает таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:45 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
гипотетический sql: select count(user_id), count(user_id) filter(where count(*) = 1) from таблица group by user_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:50 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:59 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
По count я сделал и так получилось но сказали надо именно чтобы был каждый id задействован а не как у меня я смотрю если коунт=1 то первичный ELSE вторичный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 13:28 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
получается у меня 40353+17622=57975 строк задействовано а должно быть 97652 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 13:36 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry, тогда у вас наверное анализы не те. догадка конечно, но думаю вы несчитаете юзверей которые зарегистрированы, но ещё не логинились. такое возможно если считаете из лога подключений, а не юзерс лефт джон логинс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 14:06 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
Да там не обязательно может стоять user_id мне нужно в общем посчитать брав каждый id и затем смотреть есть ли во второй колонке(допустим это user_id) такое же значения. Если таких значения больше одного значит это точно не первичный. Или тут совсем другой алгоритм надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 14:12 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry, какими таблицами вы можете оперировать? напишите их сюда со всеми колонками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 15:06 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
Ну по сути только одна нужна. t1(id, client_id, create_date) Тут я отсортировал по client_id и видно что некоторые были несколько раз 62(3раза), 67(2раза), 73(2 раза), 99(2раза) а другие 74,79,94,97 один раз. В итоге нужно по каждому полю id смотреть какой клиент первичный или повторный. Из этого куска должно получится такой ответ: (Первичный, Повторный) ( 4 , 9 ) Как получить такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 15:26 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetryКак получить такое? в упор не вижу количество входов? куда потерялось это условие? сегодня на всех магнитные бури действуют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 15:32 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
sagengu, как понять количество входов? у меня в таблице такого вообще нет. Может я как то не так объясняю допустим смотри первый id 7206520 у него клиент_ид=62 мы смотрим существуют ли ещё такие поля по id где клиент_ид тоже равен 62. Да в итоге мы видим что есть значит нам нужно записать результат по даным id 720652 client_id 62 в допустим Вторичные. Записали смотрим дальше также 62 значит тоже в Вторичные. И так далее до id 696279 client_id 74 смотрим больше такого клиента_ид нету значит заносим его в первичные. В итоге должна вывестись таблица: (Первичные, Вторичные) (____4____ ,____9____ ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 15:42 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry(Первичный, Повторный)назвать вещи своими именами: единичный, все. шаблон запроса я привел. пилите, шура, пилите. или платите за работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 15:42 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
К сожалению у нас видимо старая версия постгреса там нет filter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 15:44 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry, тынц Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. так не? ps: сори если напутал с синтаксисом, все таки занимаюсь MS-SQL ))))). Хотя оконные функции везде одинаковые ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 16:04 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
это ваши слова из первого поста. авторНужно сосчитать сколько юзеров зашло новых и сколько старых. я прежде чем создать тему с вопросом, гуглю, стараюсь составить вопрос более понятно. большая часть вопросов отпадает после 10 минут работы над хорошо поставленным вопросом, решения оказываются очевидными. кто то говорил "Хорошо поставленный вопрос уже половина ответа." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 16:05 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
zasandator, Спасибо вам но к сожалению он первичных почему то делает не всех) Видно что 74,79,94, и 97 должны быть первичными. Голова уже болит от этой непонятности. sagengu, Да я понимаю я теоретически знаю как решить а практически не получается как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 16:25 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetryzasandator, Спасибо вам но к сожалению он первичных почему то делает не всех) Видно что 74,79,94, и 97 должны быть первичными. Голова уже болит от этой непонятности. sagengu, Да я понимаю я теоретически знаю как решить а практически не получается как надо. Да Вы что? Ну была ссылка в предыдущем посте с примерами на постгри оконными функциями. ну и для отладки запрос такой посмотрите Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. В частности поле qty - покажет Вам сколько раз user_id встретился в таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 16:43 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetryzasandator, Спасибо вам но к сожалению он первичных почему то делает не всех) Видно что 74,79,94, и 97 должны быть первичными. Голова уже болит от этой непонятности. sagengu, Да я понимаю я теоретически знаю как решить а практически не получается как надо. Ну и... select * from tvoya_tablica where user_id in (74,79,94,97) order by user_id выдаст 4 строки всего? )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 16:44 |
|
||
|
Не могу понять как решить подскажите
|
|||
|---|---|---|---|
|
#18+
symmetry, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. без окон, без дверей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 16:47 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39107635&tid=1997622]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 197ms |
| total: | 464ms |

| 0 / 0 |
