php - MySQL 搜索数组中的所有元素

标签 php mysql mysqli

我正在努力从 MySQL 查询中提取我需要的所有信息。我快到了,但需要帮助才能获取单独的值。

我的目标是收集表中拥有数组提供的所有产品的任何公司。该信息由最终用户通过使用 AJAX 提供。

查询还需要稍微流畅,因为提供product_ids的数组可能是无限的。

我的查询如下:

SELECT `company_id`, `product_id`, COUNT(*) as c
FROM `products`
WHERE `product_id` IN (2495, 2403) 
GROUP BY `company_id`
HAVING c = 2

此查询提供的输出是 (A):

| company_id | product_id | c |
-------------------------------
| 1234       |  2495      | 2 |

但我追求的是(B):

| company_id | product_id | c |
-------------------------------
| 1234       |  2495      | 2 |
| 1234       |  2403      | 2 |

或者更好(C)

| company_id | product_id A | product_id B | c |
------------------------------------------------
| 1234       |  2495        | 2403         | 2 |

任何有关此问题的帮助将不胜感激,所以提前致谢!

最佳答案

结果 A 是根据 company_id 对查询进行分组的结果。

去掉GROUP BY就可以得到结果B。我不是 MySQL 专家,我无法告诉你如何计算它(在同一个查询中)。但由于您也标记了 PHP,因此您可能会考虑使用 PHP 来计算结果。

对于结果 C,您可以查看 GROUP_CONCAT,检查 this answer .

关于php - MySQL 搜索数组中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24406381/

相关文章:

PHP - 如何在单击单选按钮时将数据更新到 MySQL

PHP 解析 .txt

php - 创建动态下拉列表

MySQL查询并从两个表中选择数据

php - 警告 : mysqli_query(): Couldn't fetch mysqli

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - Symfony 新包无法找到模板

php - 从多个表中检索记录

python - 在 Mac Snow Leopard 上安装 MySQL-python-1.2.3c1 时出现问题

PHP选择查询未获取更新记录