gpt4 book ai didi

java - 如何计算表 "A"中列中每个值的出现频率并使用 Android 应用程序中的 SQLite 插入表 "B"

转载 作者:行者123 更新时间:2023-12-01 09:29:34 25 4
gpt4 key购买 nike

我有一个简单的应用程序,其中包含一个包含 2 个表的 Sqlite 数据库:

TABLE_CHAP 包含:

  • _id
  • 章节标题
  • 闪卡数量

TABLE_Flash 包含:

  • _id
  • Chap_id
  • 抽认卡内容

我将数据库的内容上传到assets文件夹中,TABLE_FLASH包含一些属于每个章节的抽认卡。我想做的是计算 TABLE_FLASH 中 Chap_id 的频率,并将该数字插入 TABLE_CHAP 中的 Number_of_flashcards,然后显示 number_of_flashcard在相关的 Chapter_Title 前面。Number_of_flashcards 是动态的,因为用户可以将自己的抽认卡添加到每个章节。

public void nberOfFlahcards(){
int xy= getChap_tableCount();

ContentValues contentValues = new ContentValues();
database = openHelper.getWritableDatabase();
for(int i=1; i<=xy; i++){

String countQuery = "SELECT * FROM TABLE_CHAP WHERE Chap_ID = " + i;

Cursor cursor = database.rawQuery(countQuery, null);

int total_count=cursor.getCount();

Log.v(TAG, "Nber of Flashcards for chapter"+i+"is: "+total_count);



contentValues.put(KEY_NBER_FLAHCARDS, Integer.toString(total_count));

database.update(TABLE_CHAP,contentValues, KEY_NBER_FLAHCARDS,null );

这段代码总是给我0,请检查错误在哪里,如果您有更好的代码或更好的数据库架构,请提出建议。

最佳答案

此更新可以通过单个查询完成

UPDATE TABLE_CHAP  SET Number_of_flashcards = 
(SELECT count(*)
FROM TABLE_Flash AS tf
WHERE tf.Chap_id=TABLE_CHAP._id)

但我最好有一个方法 int getNumberOfFlashcards(int chap_id) 来计算给定 chap_id 的计数。

关于java - 如何计算表 "A"中列中每个值的出现频率并使用 Android 应用程序中的 SQLite 插入表 "B",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39558635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com