powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчет кол-ва абонементов с разными курсами
3 сообщений из 3, страница 1 из 1
Подсчет кол-ва абонементов с разными курсами
    #39593194
st90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Нужна помощь.

Таблица абонементы Abonements
ID, ClientID, CourseID, CreateDateTime
Нужно подсчитать кол-во клиентов, у которых в заданном периоде приобретены
абонементы по двум и более курсам.

Сгруппировать сгруппировал, а как посчитать не могу вкурить.
Может через join надо делать?
Не могу применить Partition в MySQL и вложенность тут никак.

Код: sql
1.
2.
3.
select COUNT(*), ClientID, CourseID from Abonements t1
where CreateDateTime between '20171201' and '20180101'
Group by ClientID, CourseID




вот на t-sql:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
; WITH CTE AS
(
SELECT ClientID, COUNT(*) OVER (PARTITION BY ClientID) ANumber
FROM @T
WHERE CreateDateTime BETWEEN '20171201' AND '20171231'
)
SELECT COUNT(DISTINCT ClientID) 
FROM CTE
WHERE ANumber > 1
...
Рейтинг: 0 / 0
Подсчет кол-ва абонементов с разными курсами
    #39593195
st90,

групповой каунт тоже понимает дистинкт, если что.
...
Рейтинг: 0 / 0
Подсчет кол-ва абонементов с разными курсами
    #39593208
st90,

даты сам прикрутишь...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
create table b$m_test (ClientID int, CourseID int);

insert into b$m_test values(1,1);
insert into b$m_test values(1,2);
insert into b$m_test values(1,3);
insert into b$m_test values(2,1);
insert into b$m_test values(3,2);
insert into b$m_test values(4,1);
insert into b$m_test values(4,2);

select count(1) as cnt
  from (
         select ClientID
           from b$m_test
          group by ClientID
         having count(distinct CourseID) > 1
       ) v

on-line проверка на сайте sqlfiddle.com
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчет кол-ва абонементов с разными курсами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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