Read 218 times | Created 2014-04-11 09:19:52 | Updated 2014-04-11 11:31:55 | | |

 

DROP TABLE IF EXISTS `tbl_data`;
CREATE TABLE `tbl_data` (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `data` varchar(50) NOT NULL,
  `tanggal` DATE NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;

INSERT INTO `tbl_data`(data,tanggal)
VALUES
('satu','2013-12-04'),
('dua','2013-12-08'),
('tiga','2013-12-21'),
('empat','2014-01-01'),
('lima','2014-01-07'),
('enam','2014-01-12'),
('tujuh','2014-01-15'),
('delapan','2014-02-02'),
('sembilan','2014-02-03'),
('sepuluh','2014-03-01'),
('sebelas','2014-03-14'),
('duabelas','2014-04-05'),
('tigabelas','2014-04-06');

-- -mengelompokkan per minggu
SELECT YEARWEEK(tanggal) AS tahun_minggu,COUNT(1) AS jumlah_mingguan
FROM tbl_data
GROUP BY YEARWEEK(tanggal);

-- -cari data yang tanggalnya ada di minggu ini
SELECT YEARWEEK(tanggal) AS tahun_minggu,COUNT(1) AS jumlah_mingguan
FROM tbl_data
WHERE YEARWEEK(tanggal)=YEARWEEK(NOW())
GROUP BY YEARWEEK(tanggal);


-- -mengelompokkan per-bulan
SELECT CONCAT(YEAR(tanggal),'/',MONTH(tanggal)) AS tahun_bulan, COUNT(1) AS jumlah_bulanan
FROM tbl_data
GROUP BY YEAR(tanggal),MONTH(tanggal);

-- - cari data yang tanggalnya Tahun dan bulan ini
SELECT CONCAT(YEAR(tanggal),'/',MONTH(tanggal)) AS tahun_bulan, COUNT(1) AS jumlah_bulanan
FROM tbl_data
WHERE CONCAT(YEAR(tanggal),'/',MONTH(tanggal))=CONCAT(YEAR(NOW()),'/',MONTH(NOW()))
GROUP BY YEAR(tanggal),MONTH(tanggal);

-- -mengelompokkan per tahun
SELECT YEAR(tanggal) AS tahun, COUNT(1) AS jumlah_tahunan
FROM tbl_data
GROUP BY YEAR(tanggal);

-- cari jumlah yang tanggalnya tahun 2014
SELECT YEAR(tanggal) AS tahun, COUNT(1) AS jumlah_tahunan
FROM tbl_data
WHERE YEAR(tanggal)='2014'
GROUP BY YEAR(tanggal);