您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

游标返回错误的值-sqlite-Android

游标返回错误的值-sqlite-Android

使用时GROUP BY,结果的每一行对应于原始表的多行。这些结果的计算有三种可能性:

解决您的问题,您必须首先使用aGROUP BY获取足够的信息以标识所需的记录:

SELECT smsCONID,                            -- OK: used in GROUP BY
       MAX(smsTIMESTAMP) AS smsTIMESTAMP,   -- OK: aggregate MAX
       COUNT(*) AS smsNUMMESSAGES           -- OK: aggregate COUNT
FROM sms
GROUP BY smsCONID
ORDER BY smsTIMESTAMP DESC

然后,将该结果表与原始sms表连接起来以获取这些记录的其他列:

SELECT *
FROM (SELECT smsCONID,
             MAX(smsTIMESTAMP) AS smsTIMESTAMP,
             COUNT(*) AS smsNUMMESSAGES
      FROM sms
      GROUP BY smsCONID) AS grouped
     JOIN sms
       ON grouped.smsCONID     = sms.smsCONID
      AND grouped.smsTIMESTAMP = sms.smsTIMESTAMP
ORDER BY smsTIMESTAMP DESC
SQLServer 2022/1/1 18:35:52 有360人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶