どのようにMySQLからのユニークな日(データベースからデータがある)を抽出するのですか?

私は、他の中では、 "created_at"列を含むMySQLデータベースを持っています。列には、各エントリのUNIXタイムスタンプが格納されます。いくつかの日には、多くのエントリが作成されています。他の人には、誰もいません。私は少なくとも1つのエントリがデータベースに作成された日付のリストをコンパイルしたいと思います。私はphpMyAdmin(MySQL 5.0上)で次のように試してみましたが、エラーが出ます。

SELECT UNIQUE(DATE_FORMAT(`created_at`, '%d/%m/%Y')) FROM `entries`

エラーを回避するために、私はUNIQUE部分を削除し、試しました:

SELECT DATE_FORMAT(`created_at`, '%d/%m/%Y') FROM `entries` WHERE entry_id = 3

これは、entry_id 3のcreated_at値が1298050881であるため、これは誤った NULL 値を返すことになりました。なぜこれらの2つのクエリは機能しませんか?

第3に、最終的に、1日あたりのエントリ数のリストをコンパイルしたいと思います。

2011-10-16 1,432
2011-10-17   502
2011-10 18 3,533

このためには、最初のクエリが必要です。だから私はあなたの助けを求めています。どのような助けも大いに感謝されます:)

0

2 答え

グループをお試しください:

SELECT
  date_format(created_at, '%d/%m/%Y') AS theDate, 
  count(*) as theCount
FROM
  entries
GROUP BY
  theDate
HAVING theCount > 1;

結果セットを注文する場合は、最後に次の行を追加します。

ORDER BY theCount desc;
1
追加された

GROUP BYとCOUNTを使用:

SELECT
    DATE_FORMAT(FROM_UNIXTIME(created_at), '%d/%m/%Y') AS date,
    COUNT(*) AS cnt
FROM entries
GROUP BY date
1
追加された
それは素晴らしい、ありがとう。 1つの質問、tho。 PHPMyAdminが完全に動作しないときに、テーブル名の回りにバックティック( `)を使用するのはなぜですか?
追加された 著者 Pr0no,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com