powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Найти все уникальные записи в таблице
13 сообщений из 13, страница 1 из 1
Найти все уникальные записи в таблице
    #39633576
kolhoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица с полями:

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


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

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

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

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

Мне казалось это и надо.
...
Рейтинг: 0 / 0
Найти все уникальные записи в таблице
    #39633973
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример данных есть: талон 11 два раза повторяется. Его надо посчитать один раз.
...
Рейтинг: 0 / 0
Найти все уникальные записи в таблице
    #39633984
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TПример данных есть: талон 11 два раза повторяется. Его надо посчитать один раз.
"сколько уникальных талонов" - конечно 2
Или я не так понял.
...
Рейтинг: 0 / 0
Найти все уникальные записи в таблице
    #39633985
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asdorDima TПример данных есть: талон 11 два раза повторяется. Его надо посчитать один раз.
"сколько уникальных талонов" - конечно 2
Или я не так понял.
Два талона №11 ? Нет, к талону №11 сделали несколько заметок (поле namm), но он при этом не перестал быть уникальным. Талон №11 один.
...
Рейтинг: 0 / 0
Найти все уникальные записи в таблице
    #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
Найти все уникальные записи в таблице
    #39633987
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не скушает. В MSSQL можно так
Код: sql
1.
select count(distinct talon),createby  from tab group by createby 


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


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