android - 我的查询工作不正确

标签 android sqlite

我的应用程序使用sql lite数据库,我在SQlite开发人员中编写了查询并测试它,它工作正常,但是当我在android上编写这个时,它只返回一个值而不是多个值。 android 查询出了什么问题?

程序代码

SELECT DISTINCT
    m._id,
    m.name,
    m.the_best_time,
    m.the_worse_time,
    count(p._id) as qPoints
FROM sickness AS s
INNER JOIN list_of_sicknesses AS l
    ON s._id = l.sickness_id
INNER JOIN point AS p
    ON p.sickness_list = l.number
INNER JOIN meridian AS m
    ON m._id = p.meridian_id
WHERE s.sick = 'value'
GROUP BY
    m.name,
    m.the_best_time,
    m.the_worse_time,m._id

android查询代码

 String query="select distinct m." +MeridianDB.ID+
            ",m."+MeridianDB.NAME+",m."+MeridianDB.BEST_TIME+
            ",m."+MeridianDB.WORSE_TIME+",count(p."+PointDB.ID+") as         qPoints from "+
            SicknessDB.TABLE_NAME+" as s inner join "+ListOFSicknessDB.TABLE_NAME+
            " as l on s."+SicknessDB.ID+" = l."+ListOFSicknessDB.SICKNESS_ID+
            " inner join "+PointDB.TABLE_NAME+" as p on p."+PointDB.SICKNESS_LIST+
            " = l."+ListOFSicknessDB.NUMBER+" inner join "+MeridianDB.TABLE_NAME+
            " as m on m."+MeridianDB.ID+" = p."+PointDB.MERIDIAN_ID+" where s."+
            SicknessDB.NAME+"=? group by m."+MeridianDB.ID+",m."+MeridianDB.NAME+
            ",m."+MeridianDB.BEST_TIME+",m."+MeridianDB.WORSE_TIME; 

最佳答案

尝试删除 DISTINCT 子句(因为您已经在使用 GROUP BY) 我不确定问题是否出在这一部分,但在一个查询中同时使用 DISTINCTGROUP BY 通常不是最佳实践

关于android - 我的查询工作不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14641738/

相关文章:

android - 当手机从 sleep 状态唤醒时,Web 应用程序重新连接 (socket.io)

android - 防止应用程序升级时丢失数据

java - ListView 背景

SQLite 查询查找主键

python-3.x - Python sqlite3 : Loop through rows from table_a stops when inserting into table_b

android - build 项目 : outOfMemory (Android studio 3. 4)

Android 支持库抛出 Resources Not Found 异常

sql - 获取每个视频的评论和每个视频 channel 的评论总数

python - Pandas + SQLite "cannot use index"错误

database - Electron .Net核心。无法更新数据库。如何在Electron中配置sqlite或sql compact