Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel 5.3 odrębna liczba, używająca elokwentnego zamiast Query Builder

Twoje zapytanie nie jest poprawne dla przypadku użycia, widać różnicę.

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;

zwróci dwa wiersze

aggregate
1,
2

Elokwentny wybór jako pierwszy i zwrot, który wynosi 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;

zwróci wiersze jako

agrregate
2,
1

W tym przypadku wynik „Eloquent” będzie równy 2.

To, czego chcesz, to liczba (zapytanie), która ponownie będzie wynosić 2.

Dostajesz to? to, czego chcesz, to DISTINCT

$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. Jak mogę połączyć dwie procedury w jedną, aby wypełnić jedną tabelę, a nie każdą z dwóch procedur wypełniających jej własną tabelę?

  2. Base64 jako metoda oczyszczania danych wejściowych użytkownika dla Mysql

  3. java.sql.SQLException:Nieprawidłowa wartość ciągu:'\xF0\x9F\x91\xBD\xF0\x9F...'

  4. Inverted SQL SELECT - Znajdź pracowników, którzy nie wykonali zimnych połączeń między zakresem dat

  5. Nieudane użycie transakcji w Quill do WSTAWIANIA obiektów relacyjnych jeden-do-wielu