比如,表1
序号 日期 总金额
111 12-1 100
111 12-1 120
112 12-2 110
112 12-2 130
结果,表2
序号 日期 总金额
111 12-1 220
112 12-2 240
sqlserver,access
select åºå·,æ¥æ,sum(æ»éé¢) as æ»éé¢ into 表2 from 表1 group by åºå·,æ¥æoracleï¼mysql
create table 表2 as select åºå·,æ¥æ,sum(æ»éé¢) as æ»éé¢ from 表1 group by åºå·,æ¥æé½æ¯ä¸å¥è¯å°±è½æå®å
追é®æ¥æä¸è¦åç»å,åä¸ä¸ªåºå·çæ¥ææ¯ç¸åç,ä½ åç»äºä»¥åæåæ¥ç顺åºå°±è¢«æ¹åäº.æåªæç §åºå·
追çé£ä½ ä¸è¾¹çæ°æ®ä¸åéï¼æ¯å¦è¿æ ·çæ°æ®ï¼ä½ æåè¦æä¹æ ·ï¼
åºå· æ¥æ æ»éé¢
111 12-1 100
111 12-1 120
112 12-2 110
112 12-2 130
111 12-2 150
é¾éä½ æ¯è¿ä¸ªææï¼
select åºå·,max(æ¥æ) as æ¥æ,sum(æ»éé¢) as æ»éé¢ into 表2 from 表1 group by åºå·è¿½é®è·ä½ 说äº,åä¸ä¸ªåºå·çæ¥ææ¯ç¸åç,å 为åºå·æ¯ä¸ä¸ªè®¢å,æ¥ææ¯äº¤ææ¥æ,æåªåæ°æ®ä¸ç¸åçé¨åå æ±æ»éé¢
追çé£å°±ç¨ä¸è¾¹è¿ä¸ªå°±è¡äº
select åºå·,max(æ¥æ) as æ¥æ,sum(æ»éé¢) as æ»éé¢ into 表2 from 表1 group by åºå·åªæåºå·æ±æ»
追é®å¯æ¯é¤äºæ¥æå¦å¤è¿æä¸åå¤ä¸ªå段æ¯ç¸åçéè¦ååº,é¾éæ¯ä¸ªé½è¦ç¨å½æ°å
追çæ©ï¼å¯¹ï¼ç¨maxæminé½è¡ï¼å¦æå ¶ä»å段é½æ¯éå¤çï¼å°±æ¾ç¤ºåºæ¥äºï¼å¦æå ¶ä»å段æä¸ä¸æ ·çï¼ä¼åªæ¾ç¤ºæä¸ä¸ª
追é®æé ,ä¸è§å¾è¿æ ·åæ³å¤ªéº»ç¦äºå,é¾éä½ ä¸è§å¾è¯å®ä¼æç®åç¹ç.
追çé£ä½ å°±ä¸æ¬¡æ§æè¿ä¸è¥¿å¼ä¸ªè§å¾åºæ¥ï¼ä»¥åç´æ¥ä»è§å¾éåæ°ï¼ä¸è¿ä½ è¿ä¸ªéæ±ï¼æ¢è°åé½æ¯è¿ä¹éº»ç¦
不是简单,我的数据表有37个字段,为了简化才举了上边的例子,表2是表1的结果,用的sql server,我只要每个序号取一条数据,取的是他们共同的部分,金额就是汇总起来
追答create table 表2 as select 序号,sum(金额) from 表1 where 1=1;