我有两个表用于存储产品和其他用于存储订单列表。查询以逗号分隔计数值
CREATE TABLE ProductsList(ProductId INT NOT NULL PRIMARY KEY, ProductName VARCHAR(50)) INSERT INTO ProductsList(ProductId, ProductName) VALUES(1,'Product A'), (2,'Product B'), (3,'Product C'), (4,'Product D'), (5,'Product E'), (6,'Product F'), (7,'Product G'), (8,'Product H'), (9,'Product I'), (10,'Product J'); CREATE TABLE OrderList(OrderId INT NOT NULL PRIMARY KEY AUTO_INCREMENT, EmailId VARCHAR(50), CSVProductIds VARCHAR(50)) INSERT INTO OrderList(EmailId, CSVProductIds) VALUES('[email protected]', '2,4,1,5,7'), ('[email protected]', '5,7,4'), ('[email protected]', '2'), ('[email protected]', '8,9'), ('[email protected]', '4,5,9'), ('[email protected]', '1,2,3'), ('[email protected]', '9,10'), ('[email protected]', '1,5');
输出
ItemName NoOfOrders
Product A 3
Product B 3
Product C 1
Product D 3
Product E 4
Product F 0
Product G 2
Product H 1
Product I 3
Product J 1
的订单列表存储ItemsId以逗号为每一位客户谁地方order.Like这个我在我的数据库表有超过40K的记录现在
分隔值我被分配了创建报告的任务,我应该在其中显示项目和没有人订购的项目如下所示
我使用查询如下在我的PHP中b响一个一个的订单并存储在数组中。
SELECT COUNT(PL.EmailId)
FROM OrderList PL
WHERE CSVProductIds LIKE '2' OR
CSVProductIds LIKE '%,2,%' OR
CSVProductIds LIKE '%,2' OR
CSVProductIds LIKE '2,%';
1.Is有可能得到同出通过使用MySQL查询使用,如单查询
2.Does把减慢分贝时,表中有没有更多的记录,即40K行
我其实我误解了这个问题对不起任何方式..! – Chella