mysql - 在mysql中查找按两列分组的记录

标签 mysql sql

我想找出所有已上传类别(电子、服装、家具)产品的卖家,因此对于 3 个类别,每个卖家可以有 3 行。我的 table 是

1.类别{category_id,name},

2.卖家 {seller_id,用户名},

3.产品{product_id,seller_id,category_id,title}

注意:针对一位卖家最多可以有 3 个结果(因为我在 3 个类别中搜索),即使他在单个类别中添加了多个产品

预期结果:

**product_id**        **category**           **sellerUsername**
101                     electronics               kuldeep
211                     furniture                 kuldeep
322                     clothing                  kuldeep
167                     electronics               roman
245                     furniture                 roman
247                     clothing                  dangi
246                     furniture                 dangi
..
..

最佳答案

如果您只需要匹配关系,请使用内连接

select a.product_id, b.username, c.name
from products as a 
inner join seller as  b on b.seller_id = a.seller_id
inner  join category as c on c.category_id = a.category_id

否则使用左连接

select a.product_id, b.username, c.name
from products as a 
left join seller as  b on b.seller_id = a.seller_id
left   join category as c on c.category_id = a.category_id

关于mysql - 在mysql中查找按两列分组的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41236757/

相关文章:

mysql - 如何从 Mysql 中获取最新行

mysql - 找不到父 key 解决方法

javascript - "test"javascript 变量和 "#test"变量有什么区别我可以将 var javascript 转换为 "#test"

php - 从MySQL数据库中显示php中的所有表名

php - 如何获取表中除一列以外的所有列

sql - 数据库设计 - 具有属性的多类别产品

sql - 类似于 MySQL 中的 'USE database_name' 的 Postgresql SQL 查询是什么?

mysql - 如何与其他列的条件相加

php - 基于下拉菜单选择的 SQL 查询

java - executeQuery() - 返回结果集