-3

テーブル記事

id - content - ins_dt
1 - lorem ipsum1 - 2013-01-09
2 - lorem ipsum2 - 2013-02-08
3 - lorem ipsum3 - 2012-11-03
4 - lorem ipsum4 - 2011-01-20
5 - lorem ipsum5 - 2011-12-13
6 - lorem ipsum6 - 2010-05-12

クエリあり

SELECT ins_dt FROM articles ORDER BY ins_dt DESC;

私はこれを取得します:( http://sqlfiddle.com/#!2/fc9ea6/5 )

"2013 2013 2012 2011 2011 2010" 

しかし、私はこれが必要です:

"2013 2012 2011 2010"
4

4 に答える 4

2

取得している値が何であれ、それらを配列に保存します

それから$finaldata = array_unique($yourarray);

于 2013-09-01T10:35:37.817 に答える
1

You can use simple SQL query

SELECT GROUP_CONCAT(DISTINCT YEAR(ins_dt)) AS `year` 
FROM articles 
ORDER BY ins_dt DESC;

Here is the sample and demo: http://sqlfiddle.com/#!2/fc9ea6/3

于 2013-09-01T10:41:03.173 に答える
0

並べ替えを試してくださいhttp://php.net/manual/en/function.sort.php

sort($myarr['ins_dt'], SORT_NUMERIC); 
 print_r($myarr);

ちょっとした検索作業で、次のような素晴らしいリンクにたどり着くことができます http://php.net/manual/en/array.sorting.php

于 2013-09-01T10:35:38.757 に答える
0

配列にデータがあるため、コードでArray uniqueを簡単に使用できます。これにより、一意の値のみを含む配列が得られます。

または、SQL を変更して、次のようにテーブル自体から必要なデータのみを取得することもできます。

select distinct year from (select date_format(ins_dt, '%Y') from tableArticles) myData)
于 2013-09-01T10:36:33.043 に答える