簡體   English   中英

SQL查詢以24小時圖表獲取結果

[英]SQL Query to get results on a 24 hour graph

我具有以下結構,可將來自網站的點擊存儲在Mysql數據庫中:

select * from contenido_clicks;
+-------------+-------------+------------+
| idContenido | fecha_click | servicetag |
+-------------+-------------+------------+
|           5 |  1392829606 | HJCS302    |
|           8 |  1392832379 | HJCS302    |
|           5 |  1392832433 | HJCS302    |
|           5 |  1392832435 | HJCS302    |
|           5 |  1392832437 | HJCS302    |
And so on...

在這里,我有很多來自不同日期和時間的條目,我需要將它們全部收集並放在24小時圖表上,以顯示人們點擊次數在一天中的小時數。 我可以通過以下方式獲得每小時的點擊次數:

SELECT cc.fecha_click div 3600 as Horas, COUNT(cc.idContenido) as Clicks 
FROM contenido_clicks cc 
GROUP BY fecha_click div 3600 ASC

但是我不知道如何將它們合並到24小時的表格中。

有任何想法嗎?

創建一個包含24行的Horas域表,然后將其與contenido_clicks表一起加入

create table Horas
(
  Hora integer not null
)

Insert into Horas (Hora) vlaues (0)
Insert into Horas (Hora) vlaues (1)
.
.
.
Insert into Horas (Hora) vlaues (23)

select *
from Horas h
left join (
   SELECT cc.fecha_click div 3600 as Horas, COUNT(cc.idContenido) as Clicks 
   FROM contenido_clicks cc 
   GROUP BY fecha_click div 3600
) as hh on hh.Hora = h.Hora
order by h.Hora

我想你想做這樣的事情

  SELECT * 
   FROM contenido_clicks
  WHERE DATE_ADD(NOW(), INTERVAL 24 HOUR) > fecha_click

我認為這可以解決您的問題

感謝Jean提供的解決方案,我編寫了以下查詢:

SELECT h.hora, COUNT(cc.idContenido) as Clicks 
FROM horas h 
LEFT JOIN contenido_clicks cc ON h.hora = DATE_FORMAT(FROM_UNIXTIME(cc.fecha_click), '%H') 
GROUP BY h.hora;

並得到以下結果:

+------+--------+
| hora | Clicks |
+------+--------+
|    0 |      0 |
|    1 |      0 |
|    2 |      0 |
|    3 |      0 |
|    4 |      0 |
|    5 |      0 |
|    6 |      0 |
|    7 |      0 |
|    8 |      0 |
|    9 |      5 |
|   10 |      3 |
|   11 |      7 |
|   12 |      4 |
|   13 |      3 |
|   14 |      0 |
|   15 |      5 |
|   16 |      1 |
|   17 |      5 |
|   18 |      8 |
|   19 |      0 |
|   20 |      0 |
|   21 |      1 |
|   22 |      0 |
|   23 |      0 |
+------+--------+
24 rows in set (0.00 sec)

哪個是正確的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM