已知条件 每人每日入闸时候会插入一条数据到checkin_3151表,barcode为主键,boarding_date为插入日期. 现在需要统计2023-06-09到2023-06-10这段时间有多少返场人员
时间: 2024-03-25 12:36:49 浏览: 29
如果要统计某个时间段内的返场人员数量,可以按照以下步骤进行:
1. 查询出在该时间段内有入闸记录的所有 barcode。
2. 对于每个 barcode,查询出它在该时间段内的最近一次入闸日期 boarding_date1。
3. 再查询出该 barcode 在该时间段内最近但不包括 boarding_date1 的入闸日期 boarding_date2。
4. 如果 boarding_date2 存在且晚于 boarding_date1,则说明该 barcode 是返场人员。
5. 统计返场人员的数量即可。
以下是 SQL 语句示例:
```
SELECT COUNT(DISTINCT t1.barcode) AS num_returned
FROM checkin_3151 t1
LEFT JOIN checkin_3151 t2 ON t1.barcode = t2.barcode AND t2.boarding_date < t1.boarding_date
WHERE t2.boarding_date IS NULL OR (t2.boarding_date < DATE(t1.boarding_date) AND t2.boarding_date >= '2023-06-09' AND t2.boarding_date < '2023-06-10')
AND t1.boarding_date >= '2023-06-09' AND t1.boarding_date < '2023-06-10';
```
其中,checkin_3151 是存储入闸记录的表名,barcode 是主键,boarding_date 是插入日期。查询的时间段为 2023-06-09 到 2023-06-10,可以根据实际情况修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)