Есть таблица:
CREATE TABLE IF NOT EXISTS `status`
(
`hosts` text,
`numb` text,
`region` text,
`status` varchar(2) DEFAULT NULL,
`t_tim` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=34;
INSERT INTO `status` (`hosts`, `numb`, `region`, `status`, `t_tim`) VALUES
('SIU02', '234', 'POV', '1', '2017-01-18 03:44:01'),
('SIU04', '44', 'POV', '1', '2017-01-18 03:44:01'),
('SIU03', '24234', 'POV', '1', '2017-01-18 03:44:01'),
('SIU01', '24234', 'POV', '1', '2017-01-18 03:44:01'),
('SIU02', '24234', 'SZ', '1', '2017-01-18 03:44:01'),
('SIU01', '22', 'SIB', '1', '2017-01-18 03:44:01'),
('SIU02', '34', 'SIB', '1', '2017-01-18 03:44:01'),
('SIU03', '422', 'SIB', '1', '2017-01-18 03:44:01'),
('SIU04', '23456', 'SIB', '1', '2017-01-18 03:44:01'),
('SIU05', '46', 'SIB', '1', '2017-01-18 03:44:01'),
('SIU07', '324234', 'SIB', '2', '2017-01-18 08:45:12'),
('SU_FTP', '324', 'MSK', '0', '2017-01-18 03:44:01'),
('SIU01', '34234', 'SZ', '1', '2017-01-18 03:44:01'),
('SIU08', '23443', 'SIB', '1', '2017-01-18 03:44:01'),
('SIU04', '3444', 'SZ', '1', '2017-01-18 03:44:01'),
('SIU03', '1555', 'SZ', '1', '2017-01-18 03:44:01'),
('SIU05', '1055', 'SZ', '1', '2017-01-18 03:44:01'),
('S_FTP', '1223', 'SZ', '1', '2017-01-18 03:44:01'),
('SIU01', '1232333', 'UG', '2', '2017-01-18 08:45:20'),
('SIU02', '134234', 'UG', '1', '2017-01-18 03:44:01'),
('SIU03', '155', 'UG', '1', '2017-01-18 03:44:01'),
('SIU04', '14545', 'UG', '1', '2017-01-18 03:44:01'),
('S_FTP', '1454', 'UG', '2', '2017-01-18 08:45:23'),
('S_FTP', '14545', 'POV', '2', '2017-01-18 08:45:06');
Как построить выборку, чтобы выводилась сумма значений status
по каждому region
? Для status=1
, status=2
, status=3
, status=0
с группировкой по region
.
Не могу составить выборку, т.к. не знаю что делать, если для region
не будет, например, значения status=2
.
В итоге должно быть, например:
region--status--count
POV----1--------4
SELECT region,status, COUNT(*)
FROM `status`
WHERE status IN (0, 1, 2, 3)
GROUP BY region, status
SELECT `status`.`region`, `status`.`status`, COUNT(*)
FROM `status`
GROUP BY `status`.`region`, `status`.`status`;
Спасибо за помощь!
SELECT
region,
status,
COUNT(*)
FROM `status`
WHERE status IN (0, 1, 2, 3)
GROUP BY region,status
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можете привести понятный пример индекса в таблицах? В документациях столько всего написано, это вводит в заблуждениеИндекс - это и есть первичный...
Как добавить в поле БД значение, не перезаписывая его ? Например, добавить в поле words БД users значения (сначала одно, потом второе и пр), НО только...
Есть следующий тест, который при переходе в форму логина, вводит некорректные данные, в ответ на которые ему выводится дилоговое окно с текстом...
Есть вспомогательный класс DialogIdlingResource, благодаря которому пытаюсь запустить свои тесты, все тесты проходят за исключением этого запускается...