我有下表patient
:
我还有以下patient_case_number
表:
现在我有以下疑问:
SELECT p.id_number, p.first_name, p.last_name, p.father_name, p.department, f.case_number
FROM poria.patient AS p
JOIN (
SELECT pcn.id_number, pcn.case_number
FROM poria.patient_case_number AS pcn
ORDER BY pcn.created_at ASC
) AS f
ON f.id_number = p.id
WHERE p.face_dev_id = 'x'
LIMIT 1
长话短说--我的目标是,给定face_dev_id
值,从patient_case_number
表中获取最新的case_number
值。
它应该是这样工作的:给定face_dev_id
值-在patient
表中搜索与face_dev_id
相同值的匹配记录(注意此列是唯一的)。然后-在patient_case_number
表中查找最新的case_number
值(使用created_at
值)。使用与Patient
表中的ID
列匹配的ID_Number
列在此表中搜索它。
当前,该查询将返回case_number=2020
,但不返回case_number=3030
(我需要它是3030)。你能帮我修一下吗?
只需在内部查询中添加limit1
并将其从asc
更改为desc
-否则将通过最晚的created_at
查询第一个:
SELECT p.id_number, p.first_name, p.last_name, p.father_name, p.department, f.case_number
FROM poria.patient AS p
JOIN (
SELECT pcn.id_number, pcn.case_number
FROM poria.patient_case_number AS pcn
ORDER BY pcn.created_at DESC LIMIT 1
) AS f
ON f.id_number = p.id
WHERE p.face_dev_id = 'x'
LIMIT 1
问题内容: 桌子: 查询: 结果: 问题: 如何重写查询,使其返回post_id-> 83而不是post_id-> 81? 他们都有相同的论坛ID和主题ID,但是post_id-> 81的日期早于post_id-> 83。 但是,Group By似乎获得了“第一”记录,而不是“最新”记录。 我尝试将查询更改为 但这同时返回post_id 81和83 问题答案: 如果选择在group子句中未使用且不
本文向大家介绍MySQL查询找到匹配项并获取记录,包括了MySQL查询找到匹配项并获取记录的使用技巧和注意事项,需要的朋友参考一下 要从记录中查找匹配项,请使用MySQL 。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是查找与ID 1和11匹配并获取记录的查询- 这将产生以下输出-
find 查找匹配标准的记录,可以链式查询(见下文): Person.find({status:'active'}, function(err, results) { // ... }); 你也可以限制结果的个数,这条语句限制结果为10个: Person.find({status:'active'}, 10, function(err, results) { // ... }); Pers
问题内容: 我的数据库表中具有以下格式的数据: 该列将来自该列的数据作为父记录。带有值的表示根项目。我需要编写查询以按以下顺序获取数据: 我需要得到根记录(与记录为0),然后是所有和这根记录,然后获得下根的记录,然后和在这个根记录等等。 问题答案: 我在这里提出的解决方案使用了物化路径的概念。以下是使用样本数据的实例化路径的示例。我希望它可以帮助您理解物化路径的概念: 每个节点都有一个实例化路径,
我在数据库中有两个带有绑定主键的表,我希望在它们之间找到一个不相交的集。例如 有列()和示例数据: 那么,我如何创建一个SQL查询,以便我可以从中获取没有在中的带有ID的行。在这种情况下,应该返回吗? PS:ID是这两个表的主键。
问题内容: 我想在MySQL数据库中提取重复记录。这可以通过以下方式完成: 结果是: 我想将其拉出,以使其显示重复的每一行。就像是: 关于如何做到这一点有什么想法?我试图避免做第一个,然后在代码中用第二个查询查找重复项。 问题答案: 关键是重写此查询,以便可以将其用作子查询。