php
  • mysql
  • 2011-01-22 6 views 0 likes 
    0

    私は「ページ」、「著者情報」、「ダンブラウン」などの値を持つ「ブックデータ」というさまざまな値を持つ「ブック情報」という3つの列を持っています'モリエール' ...私は、モリエールが著者である多くのページを持つことができました。私のクエリは現在、次のとおりです。mysql querysは一度行タイプを表示します

    $data = mysql_query("SELECT * FROM table WHERE 'book info' = 'author'") while($info = mysql_fetch_array($data)) { echo $info['book data']; }

    以前の「モリエール」は何度も表示され、どのように私は一度だけ、著者をリストと述べたように、これは、著者のすべてが一覧表示されますか?

    答えて

    0

    あなたはどちらかDISTINCTキーワードで唯一の明確な行を返すために、RDBMSに言うことができます。

    SELECT DISTINCT `book data` FROM table WHERE `book info` = 'author' 
    

    ので、MySQLはそれぞれ異なるbook data値1つだけの行が返されます。

    またはグループと

    SELECT `book data`, other_column FROM table WHERE `book info` = 'author' GROUP BY `book data`, other_column 
    
    0

    あなたは使用することができ、グループ化:

    SELECT count(`page`) FROM table GROUP BY `book info` 
    
    :たとえばことができます

    SELECT * FROM table GROUP BY `book info` 
    

    は、各著者によって書かれた本の数を追跡します

    関連する問題