作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个数据库来保存有关人员及其位置的信息,但我不确定如何将他们的位置链接到他们。我还想跟踪他们以前的位置。到目前为止我已经得到:
CREATE TABLE person (
`id` INT NOT NULL PRIMARY KEY,
`username` varchar(50) DEFAULT NULL,
`first_name` varchar(50) DEFAULT NULL,
`last_name` varchar(50) DEFAULT NULL
);
CREATE TABLE locations (
`location_name` VARCHAR(20) NOT NULL PRIMARY KEY,
`last_updated` datetime DEFAULT NULL
);
CREATE TABLE persons_location (
`person_id` INT NOT NULL,
`location_name` VARCHAR(20) NOT NULL,
PRIMARY KEY(`person_id`, `location_name`)
);
它目前的工作原理如下,但这意味着我不能让多个人处于同一位置。
我如何更改它以启用此功能? IE。用户 - “Jim”的位置是家,“Sally”也是如此,但如果他们更新其位置,它会保留它。
最佳答案
如果您想跟踪以前的位置,则需要一列来指示某人何时位于某个位置:
CREATE TABLE persons_location (
person_id INT NOT NULL,
location_name VARCHAR(20) NOT NULL,
presence_time DATETIME NOT NULL,
PRIMARY KEY(person_id, location_name, presence_time)
);
更新:获取人员最后位置的典型方法:
select
from
(
select
person_id,
max(presence_time) as presence_time
from person_location
group by person_id
) last_time
join person_location pl on pl.person_id = last_time.person_id
and pl.presence_time = last_time.presence_time
join person p on p.id = pl.person_id
join location l on l.location_name = pl.location_name;
关于mysql - 将人员的位置链接到人员 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36535333/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!