powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Помогите оставить запрос
3 сообщений из 3, страница 1 из 1
Помогите оставить запрос
    #37511514
john_16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пускай имеется таблица guests , в котором два поля id INTEGER, datetime DATETIME. Суть ее - пользователь с ID зашел на сайт в datetime дата/время. Понятно что один и тот же пользователь может многократно заходить и для каждого этого раза будет новая запись.

Вопрос - нужно узнать сколько пользователи всего дней посещали сайт. Поясню, например есть пользователь с id=1 , он был на сайте 1 и 3 числа, причем 3его числа он был 2 раза, итого получается пользователь заходил на сайт 3 раза. Вот нужно что бы результат выглядел примерно так 1 | 2 ... то есть пользователь с id 1 был на сайте 2 дня.

Понимаю что нужно использовать date(datetime) что бы иметь именно даты, использовать COUNT и GROUP BY, но сделать запрос не могу.

Помогите пожалуйста, надеюсь что смог объяснить поставленную задачу.

P.S. БД SQLite, но думаю тут не принципиально, поэтому написал в эту ветку - так как популярнее.
...
Рейтинг: 0 / 0
Помогите оставить запрос
    #37511518
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
john_16Пускай имеется таблица guests , в котором два поля id INTEGER, datetime DATETIME. Суть ее - пользователь с ID зашел на сайт в datetime дата/время. Понятно что один и тот же пользователь может многократно заходить и для каждого этого раза будет новая запись.

Вопрос - нужно узнать сколько пользователи всего дней посещали сайт. Поясню, например есть пользователь с id=1 , он был на сайте 1 и 3 числа, причем 3его числа он был 2 раза, итого получается пользователь заходил на сайт 3 раза. Вот нужно что бы результат выглядел примерно так 1 | 2 ... то есть пользователь с id 1 был на сайте 2 дня.

Понимаю что нужно использовать date(datetime) что бы иметь именно даты, использовать COUNT и GROUP BY, но сделать запрос не могу.

Помогите пожалуйста, надеюсь что смог объяснить поставленную задачу.

P.S. БД SQLite, но думаю тут не принципиально, поэтому написал в эту ветку - так как популярнее.
зря ты так думаеш... не факт что SQLite поддерживает такое - "count(distinct ..." (я незнаю, точнее, поддерживает или нет)

Код: plaintext
1.
2.
select id, count(distinct datetime) as cnt 
from guests 
group by id

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
Помогите оставить запрос
    #37511712
john_16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправочка:
Код: plaintext
1.
2.
select id, count(distinct date(datetime)) as cnt 
from guests 
group by id

Работает! Большое спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Помогите оставить запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]