Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengelompokkan stempel waktu di MySQL dengan PHP

Petrus

SELECT COUNT(*), HOUR(timecode)
FROM timecodeTable
GROUP BY HOUR(timecode);

Kumpulan hasil Anda, berdasarkan data di atas, akan terlihat seperti ini:

+----------+----------------+
| COUNT(*) | HOUR(timecode) |
+----------+----------------+
|       10 |             18 | 
+----------+----------------+

Banyak fungsi terkait lainnya dapat ditemukan di sini .

Sunting

Setelah melakukan beberapa tes saya sendiri berdasarkan output dari komentar Anda, saya memutuskan bahwa database Anda dalam keadaan epik gagal . :) Anda menggunakan INT sebagai TIMESTAMPs. Ini bukan ide yang bagus. Tidak ada alasan yang dapat dibenarkan untuk menggunakan INT sebagai ganti TIMESTAMP/DATETIME.

Karena itu, Anda harus mengubah contoh saya di atas sebagai berikut:

SELECT COUNT(*), HOUR(FROM_UNIXTIME(timecode))
FROM timecodeTable
GROUP BY HOUR(FROM_UNIXTIME(timecode));

Edit 2

Anda dapat menggunakan klausa GROUP BY tambahan untuk mencapai ini:

SELECT 
  COUNT(*),
  YEAR(timecode),
  DAYOFYEAR(timecode),
  HOUR(timecode)
FROM timecodeTable
GROUP BY YEAR(timecode), DAYOFYEAR(timecode), HOUR(timecode);

Catatan, saya menghilangkan FROM_UNIXTIME() untuk singkatnya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menampilkan kategori dan subkategori?

  2. Menerapkan izin kolom untuk tabel di atas pemicu

  3. org.hibernate.HibernateException:Basis data tidak mengembalikan nilai identitas yang dihasilkan secara asli

  4. MYSQL format DATETIME salah

  5. Cara Menambahkan Pemisah ke String Gabungan di MySQL – CONCAT_WS()