Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/137: Рейтинг темы: голосов - 137, средняя оценка - 4.55
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
1

Подсчет количества по разным значениям столбца в одном запросе

01.10.2012, 11:46. Показов 25667. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите как сделать лучше.
допустим есть таблица в которой куча полей, но нас интересуют только поля "status" и "r_date"
вот у меня запрос:
SQL
1
2
SELECT COUNT(*) FROM table1 
WHERE r_date BETWEEN '01.09.2012' AND '20.09.2012'
но вот в поле "status" есть три разных значения, допустим это 1, 2 и 3 ... так вот мне надо сделать count по каждому из этих значений что бы мне вернуло строку в которой будет 3 ячейки с количеством по каждому "status" и в данном промежутке "r_date"

есть ли вариант проще этого, чтобы не делать 3 одинаковых параметра для поиска (это про where)
SQL
1
2
3
4
5
6
7
8
9
10
SELECT COUNT(*) AS S1,
(SELECT COUNT(*) FROM table1 
WHERE r_date BETWEEN '01.09.2012' AND '20.09.2012' 
AND STATUS=2) AS S2,
(SELECT COUNT(*) FROM table1 
WHERE r_date BETWEEN '01.09.2012' AND '20.09.2012' 
AND STATUS=3) AS S3
FROM table1 
WHERE r_date BETWEEN '01.09.2012' AND '20.09.2012'
AND STATUS=1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2012, 11:46
Ответы с готовыми решениями:

Подсчет количества изменений в ячейках столбца
Привет! Необходимо написать запрос, как проставить ранжирование по условию задачи. Есть таблица...

Подсчет количества повторов в StringList'e и заполнение столбца StringGrid
Добрый день коллеги! Возникла непреодолимая (собственными силами) проблема, суть ее в том, что из...

Выборка по разным значениям двух колонок
Имеется таблица, по сути помойка, со всяким рэндомом в колонках 2 и 3, по типу: id | column1 |...

Добавление одтнаковых данных к разным значениям в поле
Здравствуйте. Есть поля со значениями: 1 2 3 и т.д. Можно-ли как нибудь добавлять к этим...

7
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
01.10.2012, 12:08 2
SQL
1
2
3
4
5
6
7
8
SELECT SUM(IF(STATUS = 1, 1, 0)) AS Status1Count,
SUM(IF(STATUS = 2, 1, 0)) AS Status2Count,
SUM(IF(STATUS = 3, 1, 0)) AS Status3Count,
...................
SUM(IF(STATUS = n, 1, 0)) AS StatusnCount
FROM table1 
WHERE r_date BETWEEN '01.09.2012' AND '20.09.2012'
GROUP BY TABLE.status
0
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
01.10.2012, 14:52  [ТС] 3
SQL
1
SUM(IF(STATUS = 3, 1, 0))
я правильно понял:
если STATUS = 3 то возвращается 1 и сообтветственно сумируется, если не равно то 0 и тоже сумируется ?

Добавлено через 9 минут
ругается на синтаксис около if и запятых STATUS = 3,
0
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
01.10.2012, 15:05 4
SELECT Status, COUNT(Status) FROM table1
WHERE r_date BETWEEN '01.09.2012' AND '20.09.2012'
Group by Status
1
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
01.10.2012, 15:12  [ТС] 5
Цитата Сообщение от Ice_and_Fire Посмотреть сообщение
SELECT Status, COUNT(Status) FROM table1
WHERE r_date BETWEEN '01.09.2012' AND '20.09.2012'
Group by Status
спасибо
0
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
03.10.2012, 11:45  [ТС] 6
а если я хочу рядом еще одну колонку для таких же значений но для другой даты ?
это можно в этом же запросе сделать или надо такой же второй ?
0
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
03.10.2012, 12:09 7
1.Разные запросы
2.через временную таблицу
3.Обеъединение c собой и уловия через Having
0
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
03.10.2012, 13:17  [ТС] 8
не получается написать HAVING =((
условие по дате а в group by Status и оно ругается что в group by нет даты
0
03.10.2012, 13:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2012, 13:17
Помогаю со студенческими работами здесь

Отбор по разным текстовым значениям в цыфровую таблицу?
Доброго времени суток! Прошу прошения если тема такая была, но я не нашел ответа на свой вопрос!...

Приравнять все цифры из одной строки к разным значениям
Есть массив int a = new int Итак, надо прочитать файл из директории...

Вывод значений столбца, которые не равны значениям другого столбца
Необходимо вывести строки табл.1 со столбцами "А","Б","В" с условием, что значения столбца "В" не...

Создание поля с множесством значееений в одном поле т.е. преобразование столбца или строки с множеством значений в одном
Добрый день господа программисты. дернул меня черт создать базу данных в Access до сегодняшнего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru