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

MySQL:Ignoruj ​​wybraną kolumnę podczas używania DISTINCT

Są tu dwa przypadki. Załóżmy, że masz dane

A  B  C   (columns)
a  b  c1
a  b  c2

Biorąc różne wartości A, B daje tylko jeden wynik (a, b) z dwiema wartościami dla kolumny C. Pytanie brzmi, czy chcesz zobaczyć wszystkie wartości C, czy tylko jedną wartość dla każdej odrębnej wartości kolumn A i B ?

Jeśli chcesz zobaczyć tylko jedną wartość C, możesz napisać

SELECT A, B, MAX(C) FROM YourTable
  GROUP BY A, B

Z drugiej strony, jeśli chcesz zobaczyć wszystkie wartości dla C, to

SELECT DISTINCT A, B, C FROM YourTable WHERE ROW(A,B) IN 
  (SELECT A, B FROM YourTable
     GROUP BY A, B)

daje ci to. Ta ostatnia alternatywa jest potrzebna, jeśli w tabeli są inne kolumny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz część z pola MySQL Blob.

  2. Jak znormalizować wartości oddzielone przecinkami w kolumnie tabeli, a następnie uruchomić zapytanie?

  3. Nieudane przetwarzanie format-parameters za pomocą mysql.connector w Pythonie

  4. Połączyć się z bazą danych mysql 5.0 za pomocą czystego vbscript?

  5. Dlaczego kolejność oceny dla wyrażeń zawierających zmienne użytkownika jest niezdefiniowana?