4

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

年のみを返します。上記で定義した出力を取得したい。このように出力する可能性はありますか?選択クエリを作成するにはどうすればよいですか。

これを手伝ってください。

4

3 に答える 3

13

あなたはこれを試してみたいかもしれません:

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

こちらをご覧ください:Date_Format()

于 2012-08-17T06:32:48.847 に答える
3
SELECT DISTINCT DATE_FORMAT(`date`, '%Y-%m') FROM table

ここから完全なヘルプを得ることができますhttp://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

于 2012-08-17T06:38:59.520 に答える
2

あなたがデータベースからこのようになっているとしましょう:-

$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の概念を使用してこれを処理できます。

于 2012-08-17T07:03:50.853 に答える