我试图按距离给定点的顺序列出一个点列表.
应用程序是找到当前gps坐标的最近地标(gps坐标).
所以如果你采取以下代码:
public static void main(String[] args) throws SQLException {
ArrayList<Point2D.Double> points = new ArrayList<Point2D.Double>();
Point2D.Double point1 = new Point2D.Double(1,1);
Point2D.Double point2 = new Point2D.Double(2,2);
Point2D.Double point3 = new Point2D.Double(3,3);
points.add(point1);
points.add(point2);
points.add(point3);
Point2D.Double myPoint = new Point2D.Double(4,4);
}
Run Code Online (Sandbox Code Playgroud)
如果我使用比较器对点数组进行排序,我会得到一个很好的有序点列表但是如何找到哪一个更靠近myPoint?什么是距离.
这当然应该回答我的问题,但是对于奖励积分..如果给出最大距离,我怎么能限制积分的结果.例如:返回一个不超过100英里的有序坐标列表.
我想计算数据库每天在记录的所有天数中获得多少个新的唯一用户。每天不会有任何重复的 id,但多天内会出现重复。
如果我的桌子看起来像这样:
ID | DATE
---------
1 | 2022-05-21
1 | 2022-05-22
2 | 2022-05-22
1 | 2022-05-23
2 | 2022-05-23
1 | 2022-05-24
2 | 2022-05-24
3 | 2022-05-24
Run Code Online (Sandbox Code Playgroud)
我希望结果如下所示:
DATE | NEW UNIQUE IDs
---------------------------
2022-05-21 | 1
2022-05-22 | 1
2022-05-23 | 0
2022-05-24 | 1
Run Code Online (Sandbox Code Playgroud)
查询例如:
SELECT `date` , COUNT( DISTINCT id)
FROM tbl
GROUP BY DATE( `date` )
Run Code Online (Sandbox Code Playgroud)
将返回每天的计数,并且不会考虑前几天。
任何援助将不胜感激。
编辑:使用 MySQL 8