mysql - 根据最大订单从 2 个不同的表中选择数据

标签 mysql sql select join group-by

我需要从 2 个不同的表中选择数据,products 和 orders,orders 表将 productid 作为外键

我需要什么

我需要一个查询来显示产品表中的某些列,具体取决于订单表中的最大订单数

我的努力

我试过下面的查询

select sc_products.id, sc_products.name from sc_products, sc_orders where sc_orders.product = sc_products.id

问题

此查询只是通过复制产品表中的 ID 返回数据 作为

Full Texts          id  name
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt
    Edit    Delete  10  Black-White Cats
    Edit    Delete  10  Black-White Cats
    Edit    Delete  4   Aquarius Rhinestone T Shirt
    Edit    Delete  4   Aquarius Rhinestone T Shirt
    Edit    Delete  249     Volleyball Mom Blue Rhinestone T Shirt
    Edit    Delete  249     Volleyball Mom Blue Rhinestone T Shirt

上面的结果是我查询后显示的,我只需要显示那些被多次排序的记录,我需要那个count

更多关于我需要的东西

我需要如下结果

                            id  name                                        count
        Edit    Delete  9   3 Gold-Silver Elephants Rhinestone T Shirt   10
        Edit    Delete  10  product 2                                    15 

最佳答案

试试这个:

SELECT p.id, p.name, COUNT(o.id) orderCnt
FROM sc_products p 
INNER JOIN sc_orders o ON o.product = p.id
GROUP BY p.id HAVING COUNT(o.id) > 1
ORDER BY orderCnt DESC

关于mysql - 根据最大订单从 2 个不同的表中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20800970/

相关文章:

mysql - 如何在运行时在mysql查询中配置表

python - SQLAlchemy 错误 : "argument formats can' t be mixed"when inputting variables

mysql - SQL 帮助 - 根据值比较表中的值

sql - 对于点列表,点是否在任何多边形内

MySQL修剪(连接...)

mysql - 关于case语句中sum的正确使用

用于在我的 mysql 查询中选择的 PHP 变量

mysql - 创建查询时出现 SQL 语法错误

linux - bash 内置命令 "select"无法通过 shell 脚本中的管道工作

mysql - SQL语句优化: Why the command runs slow?