主键 设备编号 收取币种 收取金额 支出币种 支出金额 插入时间
dealID medCode currencyType amountIn currencyOut amountOut dateTime
1 101 USD 100 CNY 768 20100511
2 101 EUR 100 CNY 1200 20100511
3 102 USD 50 CNY 385 20100511
4 101 HKD 100 CNY 93 20100512
5 102 HKD 100 CNY 93 20100513
6 101 CAD 100 CNY 386 20100511
7 102 SGD 100 CNY 388 20100512
8 101 CAD 150 CNY 693 20100513
9 101 CAD 50 CNY 193 20100513
10 102 USD 50 CNY 386 20100513
11 102 USD 50 CNY 386 20100513
12 102 USD 50 CNY 386 20100513
13 101 USD 50 CNY 385 20100513
要求效果如下:根据日期和设备编号列出所有有交易的币种汇总(先按设备排组,再接着按日期分组)
效果如下所列:
//...列出所有有交易的币种信息
设备编号 币种 交易比数 收取金额总计 支出金额总计 ....币种 交易比数 收额总计 支额总计
日期 20100511 101 USD 1 100 768 EUR 1 100 1200
20100511 102 USD 1 50 50
20100512 101 HKD 1 100 93
20100512 102 SGD 1 100 388
20100513 101 USD 1 50 385 CAD 2 150 886
20100513 102 HKD 1 100 93 USD 3 150 1158
[color=blue]
[b]注意,你有2个币种的字段,不知道要不要按币种分组。
如果要求出现币种字段,只要币种唯一,可以不按币种分组,使用MIN等统计函数即可。
如果要求出现币种字段,并且币种不唯一,则分组字段必须包含币种字段。[/b][/color]
[code="sql"]SELECT
日期 设备编号 MIN(币种) SUM(交易比数) SUM(收取金额总计) SUM(支出金额总计) SUM(交易比数) SUM(收额总计) SUM(支额总计)
FROM 你的表
GROUP BY 设备编号, 日期[/code]
[code="sql"]GROUP BY 设备编号 , 日期[/code]
这样不可以吗?