X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> MySQL Получение количества записей с уникальным полем
Rif
Rif
Topic Starter сообщение 15.9.2013, 19:39; Ответить: Rif
Сообщение #1


Здравствуйте!

Возникла проблема - как получить кол-во записей имеющих различные значения в поле?

Пример: в таблице имеется поле: Id.
Нужно получить количество записей в которых Id уникально. Например если в записях есть Id - 1,2,3,2,8,2,3 - то в результате должно быть 4 (так как уникальные Id только 1,2,3 и 8 - всего 4 штуки)

Делать выборку уникальных записей и потом программно их считать - не подходит.

Заранее спасибо за помощь
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Rif
Rif
Topic Starter сообщение 15.9.2013, 20:34; Ответить: Rif
Сообщение #2


Уже нашел решение!

Если кому-то понадобиться:

SELECT COUNT(id),COUNT(DISTINCT id) FROM sometable;

собственно выдаст общее кол-во записей и кол-во записей с уникальными id
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 17.9.2013, 0:08; Ответить: Arks
Сообщение #3


(Rif @ 15.9.2013, 22:39) *
Нужно получить количество записей в которых Id уникально

SELECT COUNT(*) FROM style='color:orange'><...> GROUP BY <...>.id

DISTINCT в этом случае будет автоматически преобразован к GROUP BY кстати.
Ваш запрос mysql перепишет аналогичным способом - отдельно получит COUNT всех записей(в случае myisam мгновенно), отдельно выполнит запрос с группировкой.
Ваш запрос можно считать синтаксическим сахарком - никакой магии он не представляет и на производительность не влияет.

Фактически DISTINCT это указание сделать подзапрос с GROUP BY в отдельном изолированном потоке. Самого-по-себе отдельного алгоритма DISTINCT у mysql нет.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NoDrum
NoDrum
сообщение 29.9.2013, 10:44; Ответить: NoDrum
Сообщение #4


SELECT COUNT(DISTINCT Id) FROM sometable


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Получение гос. гранта для IT сферы
4 metvekot 1555 22.3.2024, 21:06
автор: Rebex
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1246 24.11.2023, 14:46
автор: alexey
Открытая тема (нет новых ответов) Быстро наполню ваши сайты уникальным контентом (рерайтинг, копирайтинг + постинг)
12 index-ss 6904 16.6.2020, 8:08
автор: index-ss
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
4 DFService 3356 8.4.2020, 18:02
автор: DFService
Открытая тема (нет новых ответов) Интересно приобретение большого количества самых дешевых ссылок.
Покупка дешевых ссылок
17 Неразбирающийся1 5555 15.3.2020, 19:45
автор: Narsus797


 



RSS Текстовая версия Сейчас: 25.4.2024, 15:50
Дизайн