首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取表列总数

获取表列总数
EN

Stack Overflow用户
提问于 2013-07-22 02:24:54
回答 2查看 79关注 0票数 0

我是新手在Java编程,所以我需要一些帮助…我在做这个累加的事情...

就像这样..

代码语言:javascript
复制
Score             Accumulated
10                10
40                50
60                110
and so on.......

这里有我的代码..。

代码语言:javascript
复制
public int accumulateScores(){

        db = this.getReadableDatabase();

        String query = "SELECT score, (SELECT sum(score) FROM "
                + TABLE_NAME+ ")" + " AS accumulated" + " FROM " + TABLE_NAME;
        Cursor cursor = db.rawQuery(query, null);

        if (cursor != null)
            cursor.moveToFirst();
            Score score = new Score(Integer.parseInt(cursor.getString(0)), cursor.getInt(1));




    }

我应该怎么做才能返回列得分的总和。提前谢谢..任何帮助都将深表感谢..

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-22 02:33:18

这应该会以一种相当简单的方式完成所需的操作,只需将所有行ID小于当前行的行求和即可。如果你在表中有一个自动递增的键,你可能想要使用那个键来获得一个更可预测的分数排序。

代码语言:javascript
复制
SELECT Score, 
   (SELECT SUM(Score) 
    FROM table_name a 
    WHERE rowid <= table_name.rowid
   ) Accumulated
FROM table_name
ORDER BY rowid

An SQLfiddle to test with

编辑:基于你的错误样本;

代码语言:javascript
复制
SELECT score, 
   (SELECT SUM(score) 
    FROM score_table a
    WHERE a.id <= score_table.id
   ) Accumulated
FROM score_table
ORDER BY id

Another SQLfiddle

票数 1
EN

Stack Overflow用户

发布于 2013-07-22 02:35:31

您应该使用Google more并键入以下代码

SELECT SCORE,(SELECT SUM(SCORE) FROM table_name PATING WHERE rowid <=table_name.rowid )从table_name ORDER BY rowid累积

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17775471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档