2016-10-25 3 views
0

SQLを使いこなして以来、誰でも助けてくれます。 :)SQL - Unixのタイムスタンプに基づいて1日あたりのフィールドの内容を要約する

私は単純なテーブルを持っています。

CREATE TABLE IF NOT EXISTS `consignmentstable` (
    `checktime` int(11) NOT NULL, 
    `consignments` smallint(6) NOT NULL 
) 

この表には、1日に複数回入力されます。

"checktime"にはunixタイムスタンプ(フィールドはまだintである必要があります)が設定され、 "consignments"にはINTが設定されます。

私は毎日(チェックデート) "委託"を要約するSQLが必要です。

次の例のデータは、ここでは最後の二つは、2016年10月6日からの両方で、私は私の出力をまとめてみたい2016年10月1日から2016年10月6日

checktime consignments 
1475280000 528 
1475366400 459 
1475452800 10080 
1475539200 7728 
1475625600 7382 
1475712000 6911 
1475712015 11111 

の範囲であります私はグラフのデータを提示するので、日付ごとの委託。上記の2016年10月20日の出力は、つまり、18022(6911 + 11111)

となるはずです。出力がINTで、DATEの形式ではないと考えても可能ですか?もしそうなら、私はいくつかの助けが大好きです! :)

答えて

0

あなたはfrom_unixtime()をしたい:

select date(from_unixtime(checktime)) as dte, sum(consignments) 
from consignmentstable 
group by date(from_unixtime(checktime)); 

これは、日付、よく、と日付を提示する自由を取ります。

実際ににunixタイムスタンプが必要な場合は、unix_timestamp()を使用してそれを戻すことができます。

関連する問題