我在表格中有两行。我想添加第三行,其中包含总值。
我的桌子是
SELECT
CONTROLLED_PERCENTAGE, EL_CLIENT_ID, ID,
PERC_ADJ_UNITS_RECEIVED, PHY_DIG_OR_TOTAL, RECORDING_ID,
SUM_UNITS_RECEIVED, UNIT_TYPE
FROM EL_CLIENT_REC_UNITS;
我会EL_CLIENT_ID
,UNIT_TYPE
,PHY_DIG_OR_TOTAL
将是'PHY'或'DIG',我希望获得总数。我想将SUM_UNITS_RECEIVED
,PERC_UNITS_RECEIVED
和UNIT_TYPES
相同的两个记录添加到EL_CLIENT_ID
和RECORDING_ID
。然后,我想将此插入为具有相同UNIT_TYPE
,RECORDING_ID
的新行,但这次将PHY_DIG_OR_TOTAL
设置为“TOTAL”;
答案 0 :(得分:0)
尝试这样的事情:
SELECT
ID,
EL_CLIENT_ID,
RECORDING_ID,
UNIT_TYPE,
PHY_DIG_OR_TOTAL,
CONTROLLED_PERCENTAGE,
SUM_UNITS_RECEIVED,
PERC_ADJ_UNITS_RECEIVED
FROM EL_CLIENT_REC_UNITS
UNION ALL -- concatenate sets
SELECT
NULL AS ID, -- No ID for this row
EL_CLIENT_ID AS EL_CLIENT_ID,
RECORDING_ID AS RECORDING_ID,
UNIT_TYPE AS UNIT_TYPE,
'TOTAL' AS PHY_DIG_OR_TOTAL,
AVG(CONTROLLED_PERCENTAGE) AS CONTROLLED_PERCENTAGE, -- I don't know what to do with that
SUM(PERC_ADJ_UNITS_RECEIVED) AS PERC_ADJ_UNITS_RECEIVED,
SUM(SUM_UNITS_RECEIVED) AS SUM_UNITS_RECEIVED
FROM EL_CLIENT_REC_UNITS
GROUP BY UNIT_TYPE, EL_CLIENT_ID, RECORDING_ID;
尝试使用Google GROUP BY
SQL语句来了解有关此声明的更多信息。