Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите с запросом с группировкой.

Сообщения:  [1-4] 

 
 автор: Mehanik   (26.05.2008 в 11:32)   письмо автору
 
   для: Root   (26.05.2008 в 03:18)
 

Ну, может и не совсем повесил... ))

Нужно разложить по дням, сколько устройств (unitid) присылало отчеты. От каждого устройства может поступить от 0 до пары тысяч отчетов. Количество отчётов от каждого устройства нас НЕ интересует.

----
Спасибо за наводку, разобрался:


SELECT DISTINCT DATE( `dt` ) AS d, COUNT( DISTINCT `unitid` ) 
FROM `data` 
GROUP BY d

   
 
 автор: Root   (26.05.2008 в 03:18)   письмо автору
 
   для: Root   (26.05.2008 в 03:07)
 

не понял я с этими unitid, нужно максимальное выбрать?

SELECT DISTINCT DATE(dt) AS d, MAX(unitid) FROM data GROUP BY d;

   
 
 автор: Root   (26.05.2008 в 03:07)   письмо автору
 
   для: Mehanik   (26.05.2008 в 02:49)
 

как это повесил?? :-)
SELECT DISTINCT DATE(dt) AS d, unitid FROM data GROUP BY d;

   
 
 автор: Mehanik   (26.05.2008 в 02:49)   письмо автору
 
 

Добрый день, господа.

Есть такая (условная) таблица с отчётами некоторых устройств (unitid) привязаных к дате/времени (dt):

CREATE TABLE IF NOT EXISTS `data` (
`unitid` int(11) NOT NULL default '0',
`dt` timestamp NOT NULL default '0000-00-00 00:00:00',
KEY `unitid` (`unitid`),
KEY `fdt` (`dt`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

INSERT INTO `data` (`unitid`, `dt`) VALUES
(2, '2008-03-20 20:36:20'),
(2, '2008-03-20 20:35:57'),
(1, '2008-03-20 20:35:35'),
(1, '2008-03-21 13:09:07'),
(1, '2008-03-21 13:08:37'),
(2, '2008-03-22 22:35:35'),
(1, '2008-03-22 22:40:07'),
(1, '2008-03-24 13:08:37'),
(2, '2008-03-24 14:35:35'),
(1, '2008-03-24 14:09:07'),
(3, '2008-03-24 14:08:37'),
(3, '2008-03-24 15:06:35');

Задача. Получить таблицу с количеством отчётов от устройств (уникальных) по дате. Для приведённых данных должна получиться таблица:


2008-03-20    2
2008-03-21    1
2008-03-22    2
2008-03-24    3


а ещё лучше:


2008-03-20    2
2008-03-21    1
2008-03-22    2
2008-03-23    0
2008-03-24    3


Запутался с группировками. Пару раз повесил мускул..... ((((

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования