我在sqlite中有这样的表:
********************
* num * date *
********************
* 3 * 15-02-2018 *
* 2 * 15-02-2018 *
* 6 * 14-02-2018 *
* 24 * 12-02-2018 *
* 8 * 15-02-2018 *
********************
现在......我必须得到表格方面的最大行到(第一个)日期然后是num ...所以在示例中查询应该返回“8”“15-02-2018”我试过了8小时但没有结果....我的查询是:
SELECT t2.num, t2.date
from
(
select(num),max(date) as date
from myTable
group by num
) t1
inner join myTable t2 on t2.num = t1.num
and
t2.date = t1.date
group by t2.num,t2.date
limit 1
但此查询返回“2”“15-02-2018”.... 任何帮助非常感谢! 亚历
答案 0 :(得分:1)
我认为以下内容将提供所需的结果: -
SELECT max(num) AS num, date
FROM mytable
GROUP BY substr(date,7,4)||'-'||substr(date,4,2)||'-'||substr(date,1,2)
ORDER BY substr(date,7,4)||'-'||substr(date,4,2)||'-'||substr(date,1,2) DESC LIMIT 1
注意GROUP BY date
也可以。
即。 : -
此订单根据可接受/可识别的日期(即YYYY-MM-DD
(按Date And Time Functions )按降序排序,因此最新日期是第一个而且只有按LIMIT 1
返回。它GROUP
根据日期(按编号分组基本上没有影响,因为所有数字都是唯一的),因此最大数量是每个日期。