sql >> Database teknologi >  >> Database Tools >> phpMyAdmin

Sådan begrænser du værdier ved brug af distinkt

Den nemmeste måde at opnå forskellige data kun i de kolonner, du ønsker, er at bruge GROUP BY klausul. Som standard vil den gruppere rækkerne, afhængigt af værdien af ​​kolonnen, og kun vise distinkte værdier, så hvis du vil gruppere og kun vise forskellige titler og kategorier, skal du skrive din forespørgsel som:

  SELECT bk.title AS Title, bk.year AS Year, aut.authorname AS Author, cat.category AS Category
  FROM book bk 

  JOIN book_category bk_cat 
  ON bk_cat.book_id = bk.bookid

  JOIN categories cat 
  ON cat.id = bk_cat.category_id

  JOIN books_authors bk_aut 
  ON bk_aut.book_id = bk.bookid

  JOIN authors aut
  ON aut.id = bk_aut.author_id

  GROUP BY  bk.title, cat.category
  ORDER BY bk.title ASC

Som du måske kan se, ingen DISTINCT bruges, men du får alle bøger med særskilte titel og kategorier. Jo flere felter du tilføjede til GROUP BY klausul, jo mere adskilte data vil du få.

På samme måde, hvis du kun ønskede at liste bøger efter titel, bør du kun lade bk.title være i GROUP BY klausul



  1. Hvordan fjerner man cachelagrede servernavne fra dialogboksen Opret forbindelse til server?

  2. phpMyAdmin - Fejl Mysql-fejl under sessionsstart

  3. Noget som phpMyAdmin men til SQL Server?

  4. Find alle referencer til et objekt i en SQL Server-database