PHP MySQL 日期提取具有明显性


php mysql date extract with distinct

在MySQL表中,我有字段"date",其数据为

2012-08-02 02:33:26
2012-08-02 05:33:26
2012-07-02 06:33:26
2012-06-02 01:33:26 
2012-06-10 09:33:26 
2011-05-10 10:33:26 
2011-04-10 02:33:26 

诸如此类

我想将输出作为

2012-08
2012-07
2012-06
2011-05
2011-04

即获取唯一的年和月(日期字段的年和月不同)

我使用了以下查询

SELECT  distinct(YEAR(date)) FROM table

它仅返回年份。 我想获得上面定义的输出。 有没有可能像这样输出。如何编写选择查询。

请帮助解决这个问题。

你可能想试试这个:

SELECT DISTINCT DATE_FORMAT(colName, '%Y-%m')
FROM tableName

看这里: Date_Format( )

SELECT DISTINCT DATE_FORMAT(`date`, '%Y-%m') FROM table

您可以从这里获得全面帮助 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

假设你从数据库得到这样的结果:-

$row['date']=2012-08-02 02:33:26;

然后您可以使用爆炸功能:-

$var=explode(" ",$row['date']);
$date=$var[0];//here you will get  2012-08-02
$res=explode("-",$date);
$res1=$res[0];//you will get 2012
$res2=$res[1];//you will get 08
$res3=$res[2];//you will get 02

现在最终结果:-

$final=$res1."-".$res2;//you will get 2012-08

如果您不想在 MySQL 端处理此问题,这是一个替代答案,因此您可以使用 PHP 概念来处理此问题。