Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Nie rozumiem, dlaczego moja grupa według upada

Możesz go przekonwertować na :

SELECT ENAME, MAX(SAL), STORES.CITY FROM EMPLOYEES 
INNER JOIN STORES 
ON EMPLOYEES.STORE_ID = STORES.STORE_ID
GROUP BY ENAME, STORES.CITY

lub

SELECT EMPLOYEES.STORE_ID, MAX(SAL), STORES.CITY FROM EMPLOYEES 
INNER JOIN STORES 
ON EMPLOYEES.STORE_ID = STORES.STORE_ID
GROUP BY EMPLOYEES.STORE_ID, STORES.CITY

ponieważ w twoim przypadku instrukcja SQL Select zawiera niezgrupowane i niezagregowane kolumny na liście wyboru, jest to naruszenie zasad. A dla Twojego celu możesz preferować następujące :

SELECT ENAME, MAX(SAL), STORES.STORE_ID, STORES.CITY FROM EMPLOYEES 
INNER JOIN STORES 
ON EMPLOYEES.STORE_ID = STORES.STORE_ID
GROUP BY ENAME, STORES.STORE_ID, STORES.CITY


  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ę uzyskać COUNT(col)... GROUP BY, aby użyć indeksu?

  2. Zachowaj zamówienie z klauzuli „IN”

  3. Ładowanie zewnętrznych plików do bazy danych Oracle

  4. Zadeklarowanie zmiennej i ustawienie jej wartości z zapytania SELECT w Oracle

  5. Jak włączyć wyjście serwera w DataGrip?