|
|
|
| Подскажите как в запросе сгруппироват данные по дате (формат UNIX в секундах), так, чтобы сначала вывелись записи за 2011 год потом за 2012 год и тд...
И такой формат вывода:
2011
------
------
-----
2012
----
------ | |
|
|
|
|
|
|
|
для: OLi
(01.02.2012 в 19:06)
| | Придется преобразовать дату в календарный тип при помощи функции FROM_UNIXTIME(), а затем применить к ней функцию YEAR(). По этому полю можно будет осуществить группировку. | |
|
|
|
|
|
|
|
для: cheops
(01.02.2012 в 21:46)
| | Можно пример простой? | |
|
|
|
|
|
|
|
для: OLi
(01.02.2012 в 21:49)
| | У каждой записи есть свой год, т-е для 40 записей массив дат может быть таков:
2011 2011 2011 2011 2012 2012 и тд
Может это реализовать как-то на php? В цикле, определить если дата не повторяется (первое вхождение новой даты 2012) | |
|
|
|
|
|
|
|
для: OLi
(01.02.2012 в 21:49)
| | Можно начать отталкиваться от следующего запроса
SELECT
YEAR(FROM_UNIXTIME(putdate)) AS putdate_year
tbl.*
FROM
tbl
ORDER BY
putdate_year DESC
|
| |
|
|
|
|
|
|
|
для: cheops
(01.02.2012 в 22:27)
| |
SELECT
YEAR(FROM_UNIXTIME(start_time)) AS putdate_year
protivniki.*
FROM
protivniki
ORDER BY
start_time DESC
|
Выдает ошибку вида:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'protivniki.*
FROM
protivniki
ORDER BY
start_time DESC
LIMIT 0, 30' at line 3 | |
|
|
|
|
|
|
|
для: OLi
(01.02.2012 в 22:33)
| | Да, это я запятую забыл, попробуйте так
SELECT
YEAR(FROM_UNIXTIME(start_time)) AS putdate_year,
protivniki.*
FROM
protivniki
ORDER BY
start_time DESC
|
| |
|
|
|
|
|
|
|
для: cheops
(01.02.2012 в 22:39)
| | Да, действительно работает..а как теперь при выводе массива с записями отсортированных по году, вывести единожды надпись 2011 и затем все записи относящиеся к 2011, потом единожды 2012 и тд | |
|
|
|
|
|
|
|
для: OLi
(01.02.2012 в 22:49)
| | Заведите переменную $year и помещайте в неё год, а на каждой итерации сравнивайте с полем putdate_year, если они совпадают - ничего не выводите, если не совпадают - выводите года, а переменной $year присваивайте новое значение. | |
|
|
|
|
|
|
|
для: cheops
(01.02.2012 в 22:51)
| | Благодарю | |
|
|
|
|
|
|
|
для: OLi
(01.02.2012 в 22:53)
| | Еще одна сложность, подскажите как для запроса выше дописать чтобы суммировал значения поля pol
| |
|
|
|
|
|
|
|
для: OLi
(02.02.2012 в 00:11)
| | А вы сумму за какие периоды хотите получить? Если за один год, то не выйдет - нужно будет отдельный запрос формировать. | |
|
|
|