只取满足第二个条件的第一个

多列夫

我有带有日期字段和外键的 ac# 对象。我在这些字段上创建了一个双索引。

public class Session : DbObject
{        
    [DataMember]
    [Column(TypeName = "date")]
    [Index(IsUnique = false, Order = 2)]
    public DateTime Date { get; set; }

    [DataMember]
    [Index(IsUnique = false, Order = 1)]
    public int PatientId { get; set; }

    [DataMember]
    public Patient Patient { get; set; }     
}

我需要从“会话”中获取一个列表,如下所示:我有一个患者 ID 和日期列表。我需要为每位患者获取一个会话,其日期是所有其他患者中最新的。

像这样:

SELECT * FROM Sessions WHERE PatientId IN (1, 2, ...) AND TOP(Date < SOME_DATE)

我知道这个查询是无稽之谈。它只是为了澄清我的意图。

***使用索引很重要,因为这个表很大。

如果可以的话,我想知道我是否可以用c#和实体框架编写它。

非常感谢!

大卫布朗 - 微软

***使用索引很重要,因为这个表很大。

LINQ 查询类似于:

var ids = new List<int>() { 1, 2, 3 };
var dt = DateTime.Now;
var q = from s in db.Sessions
        where ids.Contains(s.Id)
            && s.Date > dt
        group s by s.PatientId into byPatientId
        select byPatientId.OrderBy(s => s.Date).Take(1);

但这可能不是最有效的查询。如果这太慢,您可能需要考虑使用商店查询:

db.Sessions.FromSql(@"
with q as 
( 
   select Date, 
          PatientId, 
          row_number() over (partition by PatientId order by Date desc) rn
   where PatientId in (1,2,3,5,6,3)
     and Date > @d
   from Sessions
)
select Date, PatientId
from q
where rn = 1
", dt);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL比较第一个或第二个值对

来自分类Dev

sql获取第一个和第二个最大值的条件

来自分类Dev

在第一个完成时阻止第二个ajax调用

来自分类Dev

在第二个循环内继续在第一个循环

来自分类Dev

CSS专注于第一个孩子更改第二个孩子的颜色?

来自分类Dev

如果运行第一个功能,请勿运行第二个功能

来自分类Dev

包装跨度中的第一个单词和第二个单词

来自分类Dev

单线检测第一个或第二个文件

来自分类Dev

基于第一个下拉列表的动态第二个下拉列表

来自分类Dev

第一个条件为false时,第二个AND条件的Azure SQL执行

来自分类Dev

为什么第二个导航移至第一个导航

来自分类Dev

在第二个查询的值中使用第一个查询的值

来自分类Dev

第一个td + html表上方的第二个td

来自分类Dev

第一个数字是第二个数字的倍数吗

来自分类Dev

MongoDB:在第二个查询中引用第一个查询

来自分类Dev

将图像从第一个活动传递到第二个活动

来自分类Dev

替换R中第一个出现的“:”,而不是第二个

来自分类Dev

根据数据帧R上成功第一个值的条件替换第二个值

来自分类Dev

Tkinter的第一个单击第一个功能,第二个单击第二个功能

来自分类Dev

如何在条件第二个查询中使用第一个查询的结果?

来自分类Dev

第一个为假时测试第二个条件

来自分类Dev

执行2个mysql查询,第二个基于第一个

来自分类Dev

Javascript-为什么只在第一个div而不在第二个div上发生?

来自分类Dev

隐藏第一个按钮点击显示第二个,隐藏第二个点击显示第一个按钮

来自分类Dev

我想要第一个和第二个有条件的插入值

来自分类Dev

opengl 2d游戏只绘制第二个精灵纹理而不是第一个

来自分类Dev

第二个变量取第一个值

来自分类Dev

合并两个画布。把第一个放在第二个

来自分类Dev

SQL 更新第一个表,在第二个表中使用条件变量检索

Related 相关文章

  1. 1

    SQL比较第一个或第二个值对

  2. 2

    sql获取第一个和第二个最大值的条件

  3. 3

    在第一个完成时阻止第二个ajax调用

  4. 4

    在第二个循环内继续在第一个循环

  5. 5

    CSS专注于第一个孩子更改第二个孩子的颜色?

  6. 6

    如果运行第一个功能,请勿运行第二个功能

  7. 7

    包装跨度中的第一个单词和第二个单词

  8. 8

    单线检测第一个或第二个文件

  9. 9

    基于第一个下拉列表的动态第二个下拉列表

  10. 10

    第一个条件为false时,第二个AND条件的Azure SQL执行

  11. 11

    为什么第二个导航移至第一个导航

  12. 12

    在第二个查询的值中使用第一个查询的值

  13. 13

    第一个td + html表上方的第二个td

  14. 14

    第一个数字是第二个数字的倍数吗

  15. 15

    MongoDB:在第二个查询中引用第一个查询

  16. 16

    将图像从第一个活动传递到第二个活动

  17. 17

    替换R中第一个出现的“:”,而不是第二个

  18. 18

    根据数据帧R上成功第一个值的条件替换第二个值

  19. 19

    Tkinter的第一个单击第一个功能,第二个单击第二个功能

  20. 20

    如何在条件第二个查询中使用第一个查询的结果?

  21. 21

    第一个为假时测试第二个条件

  22. 22

    执行2个mysql查询,第二个基于第一个

  23. 23

    Javascript-为什么只在第一个div而不在第二个div上发生?

  24. 24

    隐藏第一个按钮点击显示第二个,隐藏第二个点击显示第一个按钮

  25. 25

    我想要第一个和第二个有条件的插入值

  26. 26

    opengl 2d游戏只绘制第二个精灵纹理而不是第一个

  27. 27

    第二个变量取第一个值

  28. 28

    合并两个画布。把第一个放在第二个

  29. 29

    SQL 更新第一个表,在第二个表中使用条件变量检索

热门标签

归档