SQL JOIN Query

Created by user@example.com on March 28, 2025

1
SELECT 
2
  users.id, 
3
  users.name, 
4
  users.email,
5
  COUNT(orders.id) as order_count,
6
  SUM(orders.total) as total_spent
7
FROM 
8
  users
9
LEFT JOIN 
10
  orders ON users.id = orders.user_id
11
WHERE 
12
  users.created_at >= DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH)
13
GROUP BY 
14
  users.id, users.name, users.email
15
HAVING 
16
  COUNT(orders.id) > 0
17
ORDER BY 
18
  total_spent DESC
19
LIMIT 10;