调查数据表(survey_data)看起来像
groupid| res_q_1| resp_q_2
-------|--------|----------
12 | 1 |61
12 | 3 |20
12 | 3 |39
12 | 3 |24
13 | 1 |53
13 | 2 |60
这里我尝试在pgsql中创建一个新的临时表
DROP TABLE IF EXISTS temp_survey_table;
CREATE TEMPORARY TABLE temp_survey_table AS
SELECT
(*create temp_serial here*)
groupid,
res_q_1,
resp_q_2
FROM survey_data
所以结果应该是
|temp_serial|groupid | res_q_1| resp_q_2
|-----------|--------|--------|---------
| 1| 12 | 1 |61
| 2| 12 | 3 |20
| 3| 12 | 3 |39
| 4| 12 | 3 |24
| 1| 13 | 1 |53
| 2| 13 | 2 |60
(* create temp_serial here *)的任何代码?
答案 0 :(得分:2)
SERIAL是create sequence
的快捷方式,并将其指定为默认值...
请尝试使用row_number
,例如:
DROP TABLE IF EXISTS temp_survey_table;
CREATE TEMPORARY TABLE temp_survey_table AS
SELECT
row_number() over(partition by groupid),
groupid,
res_q_1,
resp_q_2
FROM survey_data