sql >> Databáze >  >> Database Tools >> phpMyAdmin

Jak omezit hodnoty při použití odlišných

Nejjednodušší způsob, jak dosáhnout různých dat pouze ve sloupcích, které chcete, je pomocí GROUP BY doložka. Ve výchozím nastavení seskupí řádky v závislosti na hodnotě sloupce a zobrazí pouze odlišné hodnoty, takže pokud chcete seskupit a zobrazit pouze různé názvy a kategorie, měli byste svůj dotaz napsat takto:

  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

Jak můžete vidět, žádné DISTINCT se používá, ale získáte všechny knihy s odlišným názvem a kategoriemi. Čím více polí jste přidali do GROUP BY klauzule, tím jasnější data získáte.

Stejným způsobem, pokud chcete vypisovat knihy pouze podle názvu, měli byste ponechat pouze bk.title v GROUP BY doložka



  1. MySQL Query funguje v PhpMyAdmin, ale ne v JAVA Eclipse

  2. Proč nemohu tomuto sloupci přiřadit cizí klíč?

  3. Změněné heslo v phpMyAdmin na Macu pomocí XAMPP, nyní nelze získat přístup k localhost/phpmyadmin

  4. wamp nemůže načíst rozšíření mysqli