PHP สำหรับผู้เริ่มต้น : เขียนโค้ด SQL หาสินค้าตัวไหนที่เราขายดีที่สุด
ใช้การ SUM ฟิลด์ที่เป็นจำนวนยอดขาย
แล้ว GROUP BY ด้วยหัวข้อที่เราต้องการนับในที่นี้ ก็คือ ชื่อสินค้า
เรียงลำดับจากมากไปน้อยด้วย ORDER BY ...... DESC
แล้วก็จำกัดจำนวนแถวที่ต้องการแสดงด้วย LIMIT
[Database SQL]
--
-- Table structure for table `sales_history`
--
CREATE TABLE IF NOT EXISTS `sales_history` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product` varchar(30) NOT NULL,
`amount` int(7) NOT NULL,
`date_sale` date NOT NULL,
`contact_id` varchar(7) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
--
-- Dumping data for table `sales_history`
--
INSERT INTO `sales_history` (`id`, `product`, `amount`, `date_sale`, `contact_id`) VALUES
(1, 'ดินสอ', 20, '2017-04-15', '6001001'),
(2, 'ไม้บรรทัด', 5, '2017-04-16', '6001002'),
(3, 'ปากกา', 15, '2017-04-17', '6001003'),
(4, 'ยางลบ', 10, '2017-04-18', '6001004'),
(5, 'ดินสอ', 2, '2017-04-19', '6001005'),
(6, 'ไม้บรรทัด', 5, '2017-04-20', '6001006'),
(7, 'ปากกา', 5, '2017-04-21', '6001007'),
(8, 'ยางลบ', 2, '2017-04-22', '6001008'),
(9, 'ดินสอ', 8, '2017-04-23', '6001009');
[SQL]
SELECT product, SUM( amount )
FROM `sales_history`
WHERE (
date_sale
BETWEEN '2017-04-01'
AND '2017-04-30')
GROUP BY product
ORDER BY SUM( amount ) DESC
LIMIT 3
ความคิดเห็น
แสดงความคิดเห็น