Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tôi đang gặp sự cố khi sử dụng kết hợp trái và nhóm theo đồng thời. Tôi đang có nhiều hàng dữ liệu có cùng user_id, vì vậy tôi muốn sử dụng nhóm theo

Bạn cũng phải nhóm theo bộ đếm.

  create table call_log (
  user_id int(10), 
  duration int(10)      );

  insert into call_log values ( 5019,12),
                              ( 2345,23),
                              ( 5019,14);

  create table job_timetable  (
              user_id int(10), 
               counter int(10) );

  insert into job_timetable values ( 5019,1),
                                   ( 5019,3),
                                   ( 2345,2);


  SELECT call_log.user_id,SUM(call_log.duration) as duration,
                    avg(call_log.duration) as average_duration,
                                                    countersum
    FROM call_log 
    LEFT JOIN ( SELECT user_id,sum(counter) as countersum FROM job_timetable 
    GROUP BY user_id )  b   on call_log.user_id= b.user_id
    where call_log.user_id is not null 
    group by call_log.user_id,countersum 
    order by  call_log.user_id asc;

Demo: https://www.db-fiddle.com/f/7yUJcuMJPncBBnrExKbzYz/77



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo một bảng duy nhất ở chế độ chỉ đọc mysql

  2. Chuyển đổi cơ sở dữ liệu SQL Server sang cơ sở dữ liệu MYSQL

  3. Tìm kiếm toàn văn Django MySQL

  4. Hộp kiểm có Mảng bên trong lặp lại Kết quả Sai?

  5. Ngăn người dùng chỉnh sửa cùng một bản ghi