数值策划常用数据库语句

数值策划常常要与数据库打交道,最常见的就是每过一段时间针对游戏日志信息进行统计分析。这篇可以算是一个备忘录,venjet用到什么不容易记住语句就把它记录到这里,以后找起来也方便。对于数据库熟悉的不需要看,对数据库不熟悉的需要学习一下基础知识。所以,这篇应该算是自用的备忘(路人甲:那拜托你设成private啊private…)

1 常用函数

count()-计数

sum()-求和

min(),max()-最值

avg()-平均值

day()-取时间字段的天值,同理还有month(), year()…Access有DateValue()函数,可以根据字段内容转换成相应格式的日期。

hex()-十进制转为十六进制

left(a,b)-返回字符串a左起b个字符的部分。同理还有right()(关于中文字是1个字符还是2个字符的问题,与数据库的定序(COLLATE)有关,用的时候问下程序就行。)

举例

SELECT count(*) as 计数,sum([Money]) as 总和,min([Money]) as 最小值,max([Money]) as 最大值,avg([Money]) as 平均值

FROM dbo_MoneyLog_2009_05

WHERE ((dbo_MoneyLog_2009_05.[why])=”任务添加”)

2 Group by子句

将查询结果按照Group by后面的内容进行分类,比如Group by [ID],Group by day([Time])

举例

SELECT day(TIME) as 日期,count(*) as 次数

FROM dbo_MoneyLog_2009_05

WHERE ((dbo_MoneyLog_2009_05.[why])=”捡到晶石”) group by day([TIME])

3 UNION 操作符

用来合并多个select语句的结果,合并的select列数必须一致。统计的时候常常用来将月份数据合并来统计年度数据。(不过话说月度数据出来了用excel统计年度数据更方便一点…)

使用上UNION ALL会列出所有的值,而UNION不会列出重复的值

举例

select [Times] as 时间,sum([counts]) AS 次数, Sum([Moneys]) AS 金额

from(SELECT DateValue([Time]) as times,count(*) AS counts, Sum([Money]) AS moneys

FROM dbo_MoneyLog_2009_04

where [why]=”捡到晶石”

group by DateValue([Time])

UNION ALL

SELECT DateValue([Time]) as times,count(*) AS counts, Sum([Money]) AS moneys

From dbo_MoneyLog_2009_05

where [why]=”捡到晶石”

GROUP BY DateValue([Time]))

Group by [Times]

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

Category: Technology | Tags: , Comment »


Leave a Reply



Back to top