2011-10-27 1 views
0

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

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つのクエリが機能しないのですか?

第三に、最終的に、私は、一日あたりに作られたエントリの数のリストをコンパイルするような何か希望:

このため
2011-10-16 1,432 
2011-10-17 502 
2011-10 18 3,533 

を、私は仕事に最初のクエリーを必要とします。だから私はあなたの助けを求めています。すべてのヘルプは非常に:)感謝

答えて

1

してグループを試してみてください最後まで:

ORDER BY theCount desc; 
1

利用GROUP BYとCOUNTは次のようになります。あなただけの次を追加して結果セットを注文したい場合

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

そして:

SELECT 
    DATE_FORMAT(FROM_UNIXTIME(created_at), '%d/%m/%Y') AS date, 
    COUNT(*) AS cnt 
FROM entries 
GROUP BY date 
+0

本当にありがとうございます。 1つの質問、tho。 PHPMyAdminが完全に動作しないときに、テーブル名の回りにバックティック( ')を使用するのはなぜですか? – Pr0no

関連する問題