Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Web > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 11.02.2008, 17:37   #1
Mary_star
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 13
Восклицание Выборка уникальных значений

Здравствуйте программисты! Имеется таблица в которой один столбец к1 имеет уникальные значения, а второй к2 повторяющиеся. Нужно посчитать количество к1 для каждого значения к2. И вывести их. Но так чтобы в результирующем наборе были абсолютно все значения столбца к2, даже если количество какого-нибудь значения будет равно 0
Mary_star вне форума Ответить с цитированием
Старый 11.02.2008, 19:42   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
абсолютно все значения столбца к2, даже если количество какого-нибудь значения будет равно 0
Это как понимать? Загадками говорите!
mihali4 вне форума Ответить с цитированием
Старый 11.02.2008, 20:20   #3
Mary_star
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 13
По умолчанию

Это значит количество значений столбца к1 может быть равно 0 и в этом случае должно вывести значение из столбца к2 и значение 0 для столбца к1. А у меня эти стоки вообще не выводятся, просто пропускаются.
Mary_star вне форума Ответить с цитированием
Старый 11.02.2008, 20:29   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Что есть "количество значений столбца к1 может быть равно 0" по-прежнему непонятно, но может поможет вот это:

SELECT ifnull(k1, 0) as k1, k2 FROM .........;
B_N вне форума Ответить с цитированием
Старый 11.02.2008, 21:07   #5
Mary_star
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 13
По умолчанию

мне выает сообщение об ошибке "'Ifnull' - не признанное встроенное функциональное название(имя)."

"количество значений столбца к1 может быть равно 0"

в смысле:
select count(k1), k2 from.....
group by k2

не выводит значения к2, если count(k1) = 0, т.е строчку пропускает.
можно ли сделать так чтобы выводило:
0 и к2
Mary_star вне форума Ответить с цитированием
Старый 11.02.2008, 21:48   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
select count(k1)
Пардон, но это же бред сивой кобылы, ибо сказано в писании (то бишь в вашем первом сообщении):
Цитата:
столбец к1 имеет уникальные значения
И чего ради их считать? Считать-то надо К2, ибо
Цитата:
а второй к2 повторяющиеся
Извольте объясниться...
А еще лучше, дабы отойти от тарабарщины, признавайтесь, что там у вас за информация в этих полях? Так может и поймем, что же на самом деле посчитать надобно...
mihali4 вне форума Ответить с цитированием
Старый 11.02.2008, 22:14   #7
Mary_star
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 13
По умолчанию

Вообщем есть 2 таблицы:
1. Category:
CategoryID Category
---------- ------------
1 Triller
2 Romantic
3 Horror
4 War
5 Sci-fi
6 Historical
7 New
2. Films:
filmName categoryID
---------- -----------
The Dirty 4
On Golden 2
The Lion, 3
Nightmare 3
The Wide 5
Sense 6
Planet 4
The Maltese 1
15th Late 6
Soylent 5
One flew 3
Raging 1
The Life 1
Gone With 6
The Good 6

Мне нужно посчитать количество фильмов для каждой категории (Category). Но нужно чтобы в результирующем наборе присутствовали все имена категорий, независимо от того есть ли фильмы данной категории или нет. И если таких фильмов нет то вывести 0
Mary_star вне форума Ответить с цитированием
Старый 11.02.2008, 22:25   #8
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Вот так не то?
select table1.Category, (select count(table2.filmName) from table2 where table2.categoryID = table1.CategoryID) as _count from table1
B_N вне форума Ответить с цитированием
Старый 11.02.2008, 22:31   #9
Mary_star
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 13
По умолчанию

Спасибо большое, B_N. Все получилось.
Mary_star вне форума Ответить с цитированием
Старый 11.02.2008, 22:46   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Мне нужно посчитать количество фильмов для каждой категории (Category). Но нужно чтобы в результирующем наборе присутствовали все имена категорий, независимо от того есть ли фильмы данной категории или нет. И если таких фильмов нет то вывести 0
Ну вот, сразу все понятно стало.
И все потому, что никак не совпадает с вопросами, задававшимися первыми...
mihali4 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выборка нужных значений, вывод AZaharov Microsoft Office Excel 19 17.10.2008 11:22
выборка предыдущих значений(курсы валют)) alehandro Microsoft Office Access 1 29.04.2008 22:57
Выборка значений ячеек DBGrid Македонский БД в Delphi 3 05.12.2007 07:10
выборка Ser_gl Microsoft Office Excel 1 24.08.2007 19:49
Выборка John_chek БД в Delphi 10 27.06.2007 07:43


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS