php - 具有重复行的 MySQL IN()?

标签 php mysql

是否可以像这样创建一个 MySQL 查询:

SELECT id, name FROM products WHERE id IN ( 36, 36, 34, 2 )

因此,因为 ID“36”被包含两次,所以它会在结果中生成两行该产品?

即结果集可能是:

id    name
36    Cool Product
36    Cool Product
34    Lame Product
 2    Mediocre Product

代替:

id    name
36    Cool Product
34    Lame Product
 2    Mediocre Product

或者可能将其视为“数量”,例如:

id    name                qty
36    Cool Product        2
34    Lame Product        1
 2    Mediocre Product    1

感谢您的帮助!

最佳答案

SELECT id, name, COUNT(name) AS qty
FROM products p
WHERE p.id IN ( 36, 34, 2 )
GROUP BY id, name

也就是说,这是假设您的产品表有重复的记录,这似乎是错误的。

关于php - 具有重复行的 MySQL IN()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647978/

相关文章:

php - 如何在不重定向到另一个页面的情况下验证用户的用户名和密码?

PHP - 发布更新数据库字段并添加到现有值

php - 十二要素应用程序声明如何应用于PHP项目?

php - 在 Symfony 4 中设置(CSS 背景图像)图像资源

javascript - 使用 Canvas2image 将 HTML 转换为 PNG,然后将 PNG 转换为 BMP

mysql - 如果不存在子集,则选择全部,否则选择子集

php - Moment.js + PHP + MySQL

MySQL选择分组整数的范围

mysql - 我可以在同一个表的同一个 api 中使用多个 findAll() 来获取数据吗?

php - 代码点火器 : delete from 2 tables and image from folder