最初の2行はサブクエリ句でつのクエリで行うことができる。
SELECT X."Type",
SUM(X."Bad") AS "Bad",
SUM(X."Good") AS "Good",
SUM(X."Delicious") AS "Delicious",
SUM(X."Total") AS "Total"
FROM (SELECT "Type",
CASEWHEN("Taste" = 'Bad',1,0) AS "Bad",
CASEWHEN("Taste" = 'Good',1,0) AS "Good",
CASEWHEN("Taste" = 'Delicious',1,0) AS "Delicious",
1 AS "Total" FROM "YourTableName") X
GROUP BY "Type"
サブクエリは、各列に1又は0で「悪い」、「良好」と「おいしい」列を作成クエリの外側部分がすべての値を加算します。
下部に合計行を表示するには、UNION ALL
を使用する必要があります。これは、ベースパーサーではサポートされていません。このクエリを機能させるには、Edit
→Run SQL Directly
オプションをオンにする必要があります。 (これは、特定のフォームとレポートの機能を無効にします。これは、パーサーを必要とします。使用上の問題はありませんが、後でフォームまたはレポートでこのクエリを使用する場合はFYIとなります)。UNION ALL
基本的に同じクエリ、あなたはちょうどタイプでグループ化しません。したがって、合計:
SELECT X."Type",
SUM(X."Bad") AS "Bad",
SUM(X."Good") AS "Good",
SUM(X."Delicious") AS "Delicious",
SUM(X."Total") AS "Total"
FROM (SELECT "Type",
CASEWHEN("Taste" = 'Bad',1,0) AS "Bad",
CASEWHEN("Taste" = 'Good',1,0) AS "Good",
CASEWHEN("Taste" = 'Delicious',1,0) AS "Delicious",
1 AS "Total" FROM "YourTableName") X
GROUP BY "Type"
UNION ALL
SELECT 'Total' AS "BottomTotal",
SUM(Y."Bad"),
SUM(Y."Good"),
SUM(Y."Delicious"),
SUM(Y."Total")
FROM (SELECT CASEWHEN("Taste" = 'Bad',1,0) AS "Bad",
CASEWHEN("Taste" = 'Good',1,0) AS "Good",
CASEWHEN("Taste" = 'Delicious',1,0) AS "Delicious",
1 AS "Total" FROM "YourTableName") Y
GROUP BY "BottomTotal"
"YourTableName"は、実際の表名に置き換えてください。