SQLite:如何只选择2个组?

时间:2017-12-28 03:08:17

标签: jquery sql database sqlite

运行全选

后,我的数据如下所示
msg.params={"classifier_ids":["person_705615375"],"threshold":0};
return msg;

结果:

enter image description here

正如您在上图中所看到的,该表包含三行for week = 28/08/17(它可以包含同一周的多行)。在右边,您可以找到各种报告周和目标(即目标)

我想只列出两行 - 第一行包含目标,第二行包含最新报告日期。对于上述情况,我想要数据如下:

SELECT *
FROM query_23
GROUP BY week,report_date order by week;

即2017/10/25与2017/10/16报告相比是最新的,所以想要加上一个目标行,并且在同一周内始终存在。

我试过各种各样的事情,但没有奏效。感谢。

当前数据的可视化如下所示: enter image description here

2 个答案:

答案 0 :(得分:1)

将不同的数据类型组合在一列(日期和有趣的小图片)绝不是一个好主意。 您必须找到一种方法(我的意思是SQL函数的组合)来提取日期部分以便能够比较它们。 也就是说,你也许可以通过以下方式继续前进:

SELECT a.*
FROM query_23 a
LEFT JOIN query_23 b
ON b.report_date > a.report_date AND b.report_date != 'target'
WHERE a.report_date = 'target' OR b.report_date IS NULL 
GROUP BY a.week, a.report_date 
ORDER BY a.week

当然,你必须用一些有趣的小图片替换'target'

答案 1 :(得分:0)

尝试各种查询后,可以使用以下查询。

SELECT week,
   report_date,
   write_revenue
FROM query_23
GROUP BY week
UNION ALL
SELECT week,
   report_date,
   write_revenue 
FROM query_23
WHERE report_date = '目標'
ORDER BY week;

谢谢大家。