sql 对 USERS 销售额求和

sql to SUM the USERS sales

我正在尝试创建一个 sql,其中我有 2 个表,一个用户和一个销售额,我的想法是能够对按日期进行最多销售额的用户进行排名。

sql 卖家用户

SELECT * 
FROM usuario 
WHERE usuario_tipo_id =3

Sql 根据日期和销售状态的销售额

SELECT COUNT(*) 
FROM sale 
WHERE usuario_id=49 
  and venta_fecha between '12/05/2020' and '13/05/2020' 
  AND sale_estado =2 

加入这些查询以获得按用户销售额排序的列表的有效方法是什么

usuario | sales
user1   | 10
user 6  |  8
user 2  | 3

谢谢

你需要这样的东西

SELECT usuario.name usuario, SUM(sale.sales) total_sales
FROM usuario
JOIN sale ON usuario.id = sale.usuario_id /* or usuario.usuario_tipo_id? */
WHERE sale.venta_fecha between '12/05/2020' and '13/05/2020' 
  AND sale.sale_estado =2
GROUP BY usuario.name
ORDER BY total_sales DESC
LIMIT 3

好吧,我正在做一些假设.. 但它可能与此类似,使用左内连接来连接两个表。这确保连接不会导致 NULL 值:

SELECT 
  u.nome
  , SUM(s.order_total) AS total 
FROM 
  usuario u 
    LEFT INNER JOIN sale s 
      ON u.usuario_id = s.usuario_id 
WHERE 
  s.venta_fecha BETWEEN '12/05/2020' 
    AND '13/05/2020' 
GROUP BY 
  u.nome 
ORDER BY 
  SUM(s.order_total) DESC;