0

私はmysqlを初めて使用し、結合と追加について質問があります。

私は次のテーブルを持っています:booksそしてgenres

books テーブルは次のようになります。

id | name | pages | genre_id

ジャンル表:

id | name | category_id

ページ数が最も多いジャンルを取得したい。
したがって、genre1 に 5 冊の本があり、各本に 100 ページある場合、500 ページあり、genre12genre2冊あるが各本に 300 ページある場合、genre2600 ページになります。クエリは を返しgenre2ます。

誰でも助けることができますか?

4

3 に答える 3

1

以下のクエリを示すSQL Fiddleを次に示します。

SELECT g.name, SUM(b.pages)
FROM books AS b
  INNER JOIN genres AS g
  ON b.genre_id = g.id
GROUP BY g.id
ORDER BY SUM(b.pages) DESC
LIMIT 1
于 2013-10-31T23:05:38.963 に答える
0

私のMySQLは本当に錆びていますが、それは簡単に聞こえます:

SELECT G.name
FROM Books AS B INNER JOIN Genres AS G ON B.genre_id = G.id
GROUP BY G.name
ORDER BY SUM(B.pages) DESC
LIMIT 1

同点の場合に必要なものを定義していないことに注意してください。

于 2013-10-31T23:05:58.300 に答える