воскресенье, 11 сентября 2011 г.

SQL. SELECT, COUNT и DISTINCT

Столкнулся с задачей. Опищу задачу так. Есть "электронная" тетрадь, страницы из которой хранятся в базе данных (в моём случае MySQL). В базе данных есть таблица в которой хранятся закладки со страниц, назовём p_table, в таблице есть ячейки, пусть будут такие: id (уникальный, индекс, число) p_id (число), zametki (текст, 24 симола длина). таблица заполнена таким образом:

id p_id zametki
1 1 Закладка 1
2 1 Закладка 2
3 2 Закладка 1
4 2 Закладка 2
5 2 Закладка 3
6 3 Закладка 1
7 5 Закладка 1
8 5 Закладка 2
9 5 Закладка 3

Вот нужно посчитать количество УНИКАЛЬНЫХ записей в столбце p_id не используя программные методы, а только SQL. Поломал я голову, и ввиду того что SQL я знаю плоховато обратился к могучему Google и нашел нужное мне решение поставленной задачи:

SELECT COUNT(DISTINCT p_id) FROM p_table;
результат выполнения этого SQL запроса - количество уникальных записей в столбце таблицы, а в моём примере 4.

Yand...Google - найдётся всё!

Комментариев нет:

Отправить комментарий