Использовать FROM_UNIXTIME аналогично этому:
SELECT
FROM_UNIXTIME(my_timestamp, '%Y') AS year
FROM
table_name
WHERE
FROM_UNIXTIME(my_timestamp, '%Y') = 2009;
Где 'my_timestamp' - это имя вашего столбца отметки времени.
В качестве альтернативы вы также можете преобразовать его в DATETIME
Если вы конвертируете его в datetime, вы можете сделать это с помощью функции mysql DATE_FORMAT, которая позволяет вам взять DATETIME и отформатировать его как дату. Затем сгруппируйте по этому столбцу.
private function _formatDate() {
if ($this->_granularity == 'month') {
return '%y/%M';
}elseif($this->_granularity == 'day') {
return '%y/%M/%d';
}
}
public function getmyquery() {
$query = "
SELECT count( * ) as visits, DATE_FORMAT( `myOriginalDateField` , '".$this->_formatDate()."' ) AS mydate
FROM `mys`
WHERE id = ".$this->_Id."
GROUP BY mydate
ORDER BY mydate ASC
";
return $query
}