2017-04-19 17 views
0

1日中の過去のアドレス数を時間単位で取得したいと考えています。1時間ごとに1時間ごとにアドレス数を取得する方法

私はこれを試しましたが、動作しませんでした。

SELECT FROM_UnixTime((sensordata1.time + 7200), '%Y-%c-%d') "Datum", 
     COUNT(DISTINCT sensordata1.address) "Bezoekers" 
FROM sensordata1 
WHERE 1 
GROUP BY 1 
ORDER BY FROM_UnixTime((sensordata1.time + 7200), '%Y-%c-%d') 

私はそれからgrafiekを作りたいので、1時間に何回過去を見ることができます。私はその日を見たいと思っていて、どれくらい多くのものが過去にあるか知ってほしい。 (アドレスは無線LANセンサーからである。)

Database I use

+0

参照してくださいます。http:/ /meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query – Strawberry

答えて

0

あなたはFROM_UNIXTIMEに時間を置くことができます。

SELECT FROM_UnixTime(sensordata1.time, '%Y-%c-%d %h') "Datum", COUNT(DISTINCT sensordata1.address) "Bezoekers" 
FROM sensordata1 
WHERE 1 
GROUP BY 1 
ORDER BY FROM_UnixTime((sensordata1.time + 7200), '%Y-%c-%d %h') 

かは、あなたが試すことができます:

select date(x1.Datum) as "Datum", hour(x1.Datum) as d_hour, count(distinct x1.address) as "Bezoekers" 
from 
    (
    select from_unixtime(sensordata1.time) "Datum", sensordata1.address 
    from sensordata1 
) x1 
group by date(x1.Datum), hour(x1.Datum) 
関連する問題