0

行がたくさんあるテーブルがあります。簡単にするために、各行はカテゴリ A、B、C、または D に属しているとします。これらの行には、重要、重要でない、またはつまらないという値もあります。カテゴリに重要な値が含まれている場合、そのカテゴリのすべての値が最初に来て、重要な行が最初になるように並べ替えたいと思います。次のようになります。

A -重要

A -重要

A - 重要ではない

C -重要

C - ボーリング

B - ボーリング

B - ボーリング

D - 重要ではない

D - ボーリング

4

1 に答える 1

2
SELECT my_table.* FROM my_table JOIN (
  SELECT   Category, SUM(Importance='Important') number_important
  FROM     my_table
  GROUP BY Category
) t USING (Category) ORDER BY t.number_important DESC, Category, Importance

sqlfiddleで参照してください。

于 2013-07-23T21:20:43.803 に答える