私はこのテーブルを持っています:
この選択は、さまざまな var_lines (データの 1 行または調査の回答者としてほとんど機能します) および set_codes (さまざまな調査コード) に対して何度も複製されます。
このクエリでは:
SELECT
*, COUNT(*) AS total
FROM
`data`
WHERE
`var_name` = 'GND.NEWS.INT'
AND(
`set_code` = 'BAN11A-GND'
OR `set_code` = 'BAN09A-GND'
OR `set_code` = 'ALG11A-GND'
)
AND `country_id` = '5'
GROUP BY
`data_content`,
`set_code`
ORDER BY
`set_code`,
`data_content`
クエリは基本的に、特定の質問に対する回答の数をカウントします。次に、アンケートをグループ化します (set_code)。
私が必要とするのは、GND.NEWS.INT のグループ化されたdata_content
回答のそれぞれが、同じ var_line を持つすべての対応する GND_WT の合計も表示することです。
たとえば、これがあった場合:
data_id data_content var_name var_line
1 2 GND.NEW.INT 1
2 1.4 GND_WT 1
3 2 GND.NEW.INT 2
4 1.6 GND_WT 2
5 3 GND.NEW.INT 3
6 0.6 GND_WT 3
私はこのようなものを得るでしょう:
data_id data_content var_name var_line total weight
1 2 GND.NEW.INT 1 2 3
5 3 GND.NEW.INT 3 1 0.6
助けてくれてありがとう。