powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запрос в базу MySql (Сортировка одной строки)
23 сообщений из 23, страница 1 из 1
Запрос в базу MySql (Сортировка одной строки)
    #37867380
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!

Эту тему можно назвать продолжением прошлой темы


У меня имеется некая база на MySQL:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 -- Database: `qw`

-- Table structure for table `log`

CREATE TABLE IF NOT EXISTS `log` (
  `month` date NOT NULL,
  `status` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

INSERT INTO `log` (`month`, `status`) VALUES
('2012-01-17', 'success'),
('2012-01-03', 'error'),
('2012-02-19', 'success'),
('2012-02-03', 'error'),
('2012-02-03', 'error'),
('2012-03-09', 'error'),
('2012-03-09', 'error'),
('2012-03-15', 'error'),
('2012-03-30', 'success'),
('2012-04-15', 'error'),
('2012-04-16', 'error'),
('2012-05-21', 'error'),
('2012-05-22', 'error'),
('2012-06-01', 'error'),
('2012-06-06', 'error');



Использую следующий код:

Код: php
1.
2.
3.
 $rVisitsResult = mysql_query("SELECT GROUP_CONCAT(t.s) FROM (SELECT COUNT(*) s FROM `log` WHERE status='error' GROUP BY `month` ) t");
 $array = mysql_fetch_row($rVisitsResult); 
  $visites=( $array); 



чтобы увидеть значение использовал:

Код: php
1.
2.
 $array = mysql_fetch_row($rVisitsResult); 
   echo json_encode($array );  



данные выходят следующим образом:
Код: php
1.
 ["1,2,1,2,2,1,1,1"]



Получается не корректный рисунок,т.е. рисует только первый столбик и выходит значение в вверху : 1,2,1,2,2,1,1,1


Теперь по подробнее опишу:

Мне нужно чтобы ответ получился следующем образом:
Код: php
1.
 ["1","2","4","2","2","2"]



Число ошибок по разбитым месяцам, месяцы поставить по возрастанию(Это для инфо):

Код: php
1.
2.
3.
4.
5.
6.
01 месяц - 1 error
02 месяц - 2 error
03 месяц - 4 error
04 месяц - 2 error
05 месяц - 2 error
06 месяц - 2 error



Из того как я описал выше, должен выйти такой ответ:
Код: php
1.
 ["1","2","4","2","2","2"]



Что у меня получается в данное время(из запроса который я использую выше $rVisitsResult=...):

Число ошибок сортированным месяцам и дням(Должен быть только по месяцам), месяцы стоят по возрастанию(Это для инфо)

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
2012.01.03   -1 error
2012.02.03   -2 error
2012.03.09   -2 error
2012.03.15   -1 error
2012.04.15   -1 error
2012.04.16   -1 error
2012.05.21   -1 error
2012.05.22   -1 error
2012.06.01   -1 error
2012.06.06   -1 error



Из того как я описал получаю такой ответ:

Код: php
1.
 ["1,2,1,2,2,1,1,1"] (Должен быть каждому значению отдельная кавычка: "1","2"...)



Прошу помочь запросом. Какой должен быть правильный запрос?
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37867701
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NurlanK,

Код: php
1.
SELECT month, COUNT(*) s FROM `log` WHERE status='error' GROUP BY `month`
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37871222
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РенатNurlanK,

Код: php
1.
SELECT month, COUNT(*) s FROM `log` WHERE status='error' GROUP BY `month`




Есть продвижение в перед:

Код: sql
1.
2.
3.
4.
5.
  $rgVisites = array();
  $rVisitsResult = mysql_query("SELECT COUNT(*) s FROM `log` WHERE status='error' GROUP BY `month`");
  while ($rgRow = mysql_fetch_assoc($rVisitsResult)) {
  $rgVisites[] = $rgRow['s'];
  echo json_encode($rgVisites );  



поулчаю ответ (каждый в отдельную кавычку):

Код: php
1.
["1","2","2","1","1","1","1","1","1","1"]



Но, как я говорил вверху он сортирует по месяцам и дням. А мне нужно только по месяцам.

Прошу, Вас, мне помочь...
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37871267
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
$rVisitsResult = mysql_query("SELECT COUNT(*) s FROM `log` WHERE status='error' GROUP BY `month`");


группировка по полю отсутствующему в выборке.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_month
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37871425
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow
Код: php
1.
$rVisitsResult = mysql_query("SELECT COUNT(*) s FROM `log` WHERE status='error' GROUP BY `month`");


группировка по полю отсутствующему в выборке.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_month


Подходящий мне пример не нашел.
Можете по точнее написать? Примерами...
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37871433
гм,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NurlanK
Но, как я говорил вверху он сортирует по месяцам и дням. А мне нужно только по месяцам.

Код: sql
1.
GROUP BY MONTH(`month`)
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37871468
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гм,NurlanKНо, как я говорил вверху он сортирует по месяцам и дням. А мне нужно только по месяцам.

Код: sql
1.
GROUP BY MONTH(`month`)




Большое Вам спасибо!!! 5++
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37871568
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гм,NurlanKНо, как я говорил вверху он сортирует по месяцам и дням. А мне нужно только по месяцам.

Код: sql
1.
GROUP BY MONTH(`month`)


группировка по полую отсутствующему в выборке.
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37872413
cyrill.ignatov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если формат даты не меняется ее год, месяц или день легко вычленить с помощью substring. И сгруппировать по этому значению.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT GROUP_CONCAT(t.s) FROM
(SELECT 
COUNT(status) as s
FROM `log` 
WHERE status='error'
GROUP BY SUBSTR(month,6,2)
ORDER BY month) t
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37872523
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
говнокод, кто ж дату в строках хранит, уж на крайняк в интеджере
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37872708
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettговнокод, кто ж дату в строках хранит, уж на крайняк в интеджере
не спорю говнокод, но с датами вполне можно оперировать как со строками.
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37872780
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да можно и с числами в принципе тоже)
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37872782
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только какая будет эффективность?
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37880750
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cyrill.ignatovЕсли формат даты не меняется ее год, месяц или день легко вычленить с помощью substring. И сгруппировать по этому значению.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT GROUP_CONCAT(t.s) FROM
(SELECT 
COUNT(status) as s
FROM `log` 
WHERE status='error'
GROUP BY SUBSTR(month,6,2)
ORDER BY month) t



В том и дело что месяц и год меняется. Я на пример взял простую БД, год с несколькими месяцами.
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37880775
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РенатHettговнокод, кто ж дату в строках хранит, уж на крайняк в интеджере
не спорю говнокод, но с датами вполне можно оперировать как со строками.



Вы прочли бы с начала саму статью, только потом пишите свои комменты...
статья: http://php.su/articles/?cat=graph&page=019
обсуждение: http://www.sql.ru/forum/actualthread.aspx?tid=946495
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37880781
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NurlanKРенатпропущено...

не спорю говнокод, но с датами вполне можно оперировать как со строками.



Вы прочли бы с начала саму статью, только потом пишите свои комменты...
статья: http://php.su/articles/?cat=graph&page=019
обсуждение: http://www.sql.ru/forum/actualthread.aspx?tid=946495

и чего я оттуда нового должен узнать?
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37880784
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettNurlanKпропущено...




Вы прочли бы с начала саму статью, только потом пишите свои комменты...
статья: http://php.su/articles/?cat=graph&page=019
обсуждение: http://www.sql.ru/forum/actualthread.aspx?tid=946495

и чего я оттуда нового должен узнать?

Прочитаешь узнаешь...
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37881995
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NurlanK,

Вам задали вопрос, чтовы абстрактностями отвечаете? Все ссвлки на раьоту с gd и не ьольше, а вам про за запрос к базе данных говарят
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37882129
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РенатNurlanK,

Вам задали вопрос, чтовы абстрактностями отвечаете? Все ссвлки на раьоту с gd и не ьольше, а вам про за запрос к базе данных говарят

Все эти запросы делаются для того, чтобы сделать мониторинг сервера .т.е. нарисовать динамическую картинку средствами PHP.
Чтобы нарисовать изображение нужно передать каждое число в отдельных кавычках. Строка к нему не подойдет.
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37882198
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К кому не подойдет кто?
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37882396
NurlanK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Скрипт написан на php, если данные будут в строке то изображение получится кривым.
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37882578
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запрос в базу MySql (Сортировка одной строки)
    #37882673
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NurlanKесли данные будут в строке то изображение получится кривым.Эт смотря как интерпретировать данные... Мускулю, например, абсолютно все (текст, числа, даты, бинарники) скармливается в виде строки sql-запроса, однако, сие проблем как-то не вызывает.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запрос в базу MySql (Сортировка одной строки)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]