Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Saya mengalami masalah saat menggunakan gabungan kiri dan grup secara bersamaan. Saya memiliki beberapa baris data dengan user_id yang sama, jadi saya ingin menggunakan group by

Anda juga harus mengelompokkan berdasarkan countersum.

  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. Apa yang dapat saya lakukan untuk membuat SQL ini mengembalikan hasil dalam situasi tertentu?

  2. ambil dan cetak nilai setelah pemisah koma dari satu bidang menggunakan gabungan (codeigniter)

  3. Mengapa ini mengembalikan id Sumber Daya #2?

  4. Apache 2.4 dengan PHP 5.4:tidak tersedia mysql

  5. Cetak data tabel mysql php