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

Laravel 5.3 hitungan berbeda, menggunakan fasih alih-alih Query Builder

Kueri yang Anda buat tidak benar untuk kasus penggunaan, Anda dapat melihat perbedaannya.

select count(*) as aggregate from game_results 
where (school_id is null and season_id = '1') 
group by user_id order by user_id asc;

akan mengembalikan dua baris

aggregate
1,
2

Eloquent memilih pertama dan kembali yaitu 1.

select count(*) as aggregate from game_results 
where (school_id is null and season_id = '1') 
group by user_id order by user_id desc;

akan mengembalikan baris sebagai

agrregate
2,
1

Fasih akan menghasilkan 2 dalam kasus ini.

Yang Anda inginkan adalah hitungan (query) yang akan menjadi 2.

Mendapatkannya? yang Anda inginkan adalah BERBEDA

$usersWithAnswersCount = GameResult::where([
    'school_id' => null,
    'season_id' => $this->season->id 
])
->distinct('user_id')
->count();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa mengubah dari utf8 ke utf8mb4 memperlambat basis data saya?

  2. Cara menulis kueri di MySQL untuk objek array JSON

  3. Kelompokkan menurut - beberapa kondisi - MySQL

  4. Contoh transaksi PHP + MySQL

  5. PILIH * DI MANA TIDAK ADA