获取每个类别的项目数,并插入另一个表

时间:2015-12-24 19:39:04

标签: php mysql count

我正在努力解决一个问题,我相信你们中的一些人很容易解决。

我有两张桌子,一张用于保存各自类别的汽车物品,每辆汽车都有自己的类别。

第二个表格包含相同的类别列表和另一个应该包含每个类别的汽车项目总数的列。例如carCategory = 30,TotalItems = 6.

我能够运行count语句但是我无法找到正确的方法从第一个表的count语句中获取值并将它们放在各自类别的第二个表中。

有什么建议我该如何解决这个?

以下是表格 " cars_for_sell"表:

+------+------------+--------------+-------------+-------------+-------------------+------------+------------------+------------------+----------------+-----------------+
| "id" |  "car_id"  | "car_vendor" | "car_model" | "car_petro" | "car_transmition" | "car_hand" | "car_spedometer" | "car_engine_vol" | "car_category" | "car_post_date" |
+------+------------+--------------+-------------+-------------+-------------------+------------+------------------+------------------+----------------+-----------------+
| "39" | "33333333" | "Mazda"      | "3"         | "Disel"     | "automatic"       | "3"        | "1111111"        | "1600"           | "30"           | "2/20/2002"     |
| "49" | "6666666"  | "Toyota"     | "Avensis"   | "Gasolin"   | "manual"          | "6"        | "2222222"        | "1800"           | "10"           | "8/12/2015"     |
+------+------------+--------------+-------------+-------------+-------------------+------------+------------------+------------------+----------------+-----------------+

" posts_per_category"表:

+------------+--------------+--------------+------------------+
| "category" |  "carMake"   | "NumOfPosts" | "LastUpdateDate" |
+------------+--------------+--------------+------------------+
| "10"       | "BMW"        | "0"          | "12/24/2015"     |
| "20"       | "MG"         | "0"          | "12/24/2015"     |
| "30"       | "AUDI"       | "0"          | "12/24/2015"     |
| "40"       | "OPEL"       | "0"          | "12/24/2015"     |
| "50"       | "ALFA_ROMEO" | "0"          | "12/24/2015"     |
| "60"       | "BUICK"      | "0"          | "12/24/2015"     |
| "70"       | "DACIA"      | "0"          | "12/24/2015"     |
| "80"       | "HONDA"      | "0"          | "12/24/2015"     |
| "90"       | "VOLVO"      | "0"          | "12/24/2015"     |
| "100"      | "TOYOTA"     | "0"          | "12/24/2015"     |
| "110"      | "HYUNDAI"    | "0"          | "12/24/2015"     |
| "120"      | "LANCIA"     | "0"          | "12/24/2015"     |
| "130"      | "MAZDA"      | "0"          | "12/24/2015"     |
| "140"      | "MITSUBISHI" | "0"          | "12/24/2015"     |
| "150"      | "NISSAN"     | "0"          | "12/24/2015"     |
| "160"      | "SUBARU"     | "0"          | "12/24/2015"     |
| "170"      | "SUZUKI"     | "0"          | "12/24/2015"     |
| "180"      | "SEAT"       | "0"          | "12/24/2015"     |
| "190"      | "CITROEN"    | "0"          | "12/24/2015"     |
| "200"      | "SKODA"      | "0"          | "12/24/2015"     |
| "210"      | "VOLKSWAGEN" | "0"          | "12/24/2015"     |
| "220"      | "FORD"       | "0"          | "12/24/2015"     |
| "230"      | "FIAT"       | "0"          | "12/24/2015"     |
| "240"      | "PEUGEOT"    | "0"          | "12/24/2015"     |
| "250"      | "KIA"        | "0"          | "12/24/2015"     |
| "260"      | "CHRYSLER"   | "0"          | "12/24/2015"     |
| "270"      | "RENAULT"    | "0"          | "12/24/2015"     |
| "280"      | "CHEVROLET"  | "0"          | "12/24/2015"     |
+------------+--------------+--------------+------------------+

以下是我从count语句得到的结果:

+----+---+
| 10 | 1 |
+----+---+
| 30 | 1 |
+----+---+

所以,一旦我得到上面的结果,我需要" posts_per_category"将更新的结果存储在" NumOfPosts"列根据各自的类别

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你应该做一些事情:

UPDATE posts_per_category ppc SET ppc.numOfPosts= (SELECT count(id) FROM cars_for_sell cfs WHERE ppc.category = cfs.car_category)

但我认为这种方法不是正确的。也许您应该考虑使用触发器(您可以创建"事件"例如,当添加新车并更新ppc.NumOfPosts时会激活。)