gpt4 book ai didi

php - MySQL 选择 "previous"max(id) WHERE

转载 作者:行者123 更新时间:2023-11-29 00:12:24 26 4
gpt4 key购买 nike

我有一个表,当 child 登记到夏令营区域时,该表会插入数据。如果 child 小于 12 岁,则必须扫描 parent 的条形码以允许 child 进入幼儿区(小于 12 岁)。

该表包含以下列。

kcID
uID
id
age
room
barcode
date
amber

数据通常会这样呈现。

kcID uID    id      age     room    barcode date                    amber
25 1 1 30 1000 0001 6/26/2014 1:27:40 AM 0
26 6 1 1 1000 0005 6/26/2014 1:27:40 AM 0

我遇到的问题是我需要比较日期/时间以了解 child 是否进入或离开营地,并通过 php 向 parent 发送短信,以便他们知道他们的 child 在特定区域之外。

我知道我可以检索 max(kcID) WHERE 条形码 = XXXX,这将返回最后插入的行,但是,为了让我检索所述信息,必须扫描 child ,正确插入新行并渲染 max (kcID) 在这种情况下没用。

我需要的是能够选择 max(kcID) WHERE barcode = xxxx 然后选择找到 barcode = xxxx 的上一行记录。这样我就可以比较日期并知道 child 是离开还是进入那个特定区域。

我现在能想到的最简单的解决方案是有 2 张 table (一张用于入场,一张用于出场),让营地辅导员选择 child 是进入还是离开,但我想知道我是否只能使用一张 table .

最佳答案

添加状态为left和return的列

ALTER TABLE `table` ADD `status` enum('left', 'returned') NOT NULL DEFAULT 'left';

现在您可以通过以下查询选择倒数第二行

select `kcID`, `barcode` from `table` where `status` = 'left' ORDER BY `barcode` DESC LIMIT 1,1

关于php - MySQL 选择 "previous"max(id) WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24423539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com