Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Найти все уникальные записи в таблице / 13 сообщений из 13, страница 1 из 1
20.04.2018, 10:15
    #39633576
kolhoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Есть таблица с полями:

talon, namm, createby
11 назв1 иванов
11 назв2 иванов
12 назв3 Пушкин
13 назв2 Михайлов


Мне нужно подсчитать сколько уникальных талонов (колонка talon) создал каждый пользователь. Как составить такой запрос?
...
Рейтинг: 0 / 0
20.04.2018, 10:22
    #39633583
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
В один запрос не получится. Фокс не поддерживает count(distinct ...)
Сначала выбрать уникальные (talon, createby) в промежуточный курсор, затем по нему считать.
...
Рейтинг: 0 / 0
20.04.2018, 10:24
    #39633587
kolhoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Dima T, Спасибо.
...
Рейтинг: 0 / 0
20.04.2018, 14:23
    #39633788
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
kolhoz,

Код: sql
1.
select count(*),createby  from tab group by talon,createby 
...
Рейтинг: 0 / 0
20.04.2018, 15:10
    #39633808
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
asdor, так повторы посчитаются.
...
Рейтинг: 0 / 0
20.04.2018, 20:00
    #39633971
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Dima Tasdor, так повторы посчитаются.
Кто то из нас вопрос не понял.
Возможно я.
Вот мои суждения

подсчитать сколько уникальных талонов (колонка talon) count(*)
создал каждый пользователь.
grouop by пользователь

О каких повторах речь?
Выведет всех пользователей, и кол-во талонов на пользователя.

Мне казалось это и надо.
...
Рейтинг: 0 / 0
20.04.2018, 20:04
    #39633973
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Пример данных есть: талон 11 два раза повторяется. Его надо посчитать один раз.
...
Рейтинг: 0 / 0
20.04.2018, 20:55
    #39633984
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Dima TПример данных есть: талон 11 два раза повторяется. Его надо посчитать один раз.
"сколько уникальных талонов" - конечно 2
Или я не так понял.
...
Рейтинг: 0 / 0
20.04.2018, 21:04
    #39633985
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
asdorDima TПример данных есть: талон 11 два раза повторяется. Его надо посчитать один раз.
"сколько уникальных талонов" - конечно 2
Или я не так понял.
Два талона №11 ? Нет, к талону №11 сделали несколько заметок (поле namm), но он при этом не перестал быть уникальным. Талон №11 один.
...
Рейтинг: 0 / 0
20.04.2018, 21:05
    #39633986
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Понял)
А такую хрень
Код: sql
1.
2.
3.
SELECT createby,COUNT(*) FROM 
(select talon,createby  from tab group by talon,createby ) 
group by group by talon,createby


фокс наверное не скушает?
...
Рейтинг: 0 / 0
20.04.2018, 21:10
    #39633987
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Не скушает. В MSSQL можно так
Код: sql
1.
select count(distinct talon),createby  from tab group by createby 


но такое тоже фокс не скушает
...
Рейтинг: 0 / 0
21.04.2018, 11:16
    #39634083
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Dima TНе скушает. В MSSQL можно так
Код: sql
1.
select count(distinct talon),createby  from tab group by createby 


но такое тоже фокс не скушаетДа неужели?! А проверять не пробовали?
Код: sql
1.
2.
3.
4.
5.
6.
7.
Create cursor tab (talon i, namm C(5), createby c(10))
Insert into tab values (11, 'назв1', 'иванов')
Insert into tab values (11, 'назв2', 'иванов')
Insert into tab values (12, 'назв3', 'Пушкин')
Insert into tab values (13, 'назв2', 'Михайлов')

select count(distinct talon),createby  from tab group by createby


Count(distinct ) еще FPD2.0 умел.
Впрочем, и подправленный
Код: sql
1.
2.
3.
SELECT createby,COUNT(*) FROM ;
(select talon,createby  from tab group by talon,createby ) T;
group by talon,createby


тоже прекрасно работает.
...
Рейтинг: 0 / 0
21.04.2018, 11:53
    #39634089
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти все уникальные записи в таблице
Sergey SizovДа неужели?! А проверять не пробовали?
Нет, только в хэлп заглянул, там про count(distinct ...) ни слова :)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Найти все уникальные записи в таблице / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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