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

MySQL:Co się dzieje z polami niezagregowanymi w grupie GROUP BY?

MySQL> 5.7.5

To nielegalne zapytanie.

Otrzymasz błąd, taki jak:

ERROR 1055 (42000): Expression #1 of SELECT list is not in 
GROUP BY clause and contains nonaggregated column 'a' 
which is not functionally dependent on columns in 
GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Więcej szczegółów na stronie https://dev.mysql. com/doc/refman/5.7/en/group-by-handling.html

MySQL <5.7.5

Krótka odpowiedź:to prawidłowe zapytanie, ale serwer może zwrócić dowolną wartość

Czytanie tego https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html pokazuje:

Nie ma więc możliwości określenia, jaka będzie ta wartość (jeśli jest więcej wartości dla tej grupy)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Restrukturyzacja złej bazy danych za pomocą pętli PHP lub MySQL

  2. Strategia synchronizacji bazy danych z wielu lokalizacji do centralnej bazy danych i odwrotnie

  3. Nie mogę uruchomić bundlera, ciągle pojawia się błąd

  4. Jakie są odpowiednie zalety/ograniczenia Amazon RDS w porównaniu z EC2 z MySQL?

  5. Docker-compose sprawdza, czy połączenie mysql jest gotowe