用sql语句怎么从数据库中提取结果

假设数据库中某个数据表包含这3列:
time,id, status
2014-11-14 00:00:00,1,0
2014-11-14 00:00:01,2,0
2014-11-14 00:00:03,3,1
2014-11-14 00:00:04,1,0
2014-11-14 00:00:05,4,0
2014-11-14 00:00:07,4,0
2014-11-14 00:00:09,5,1
2014-11-14 00:00:13,5,1
想要找出所有在dt时间内相同status的id pairs,并返回所有dt中pairs的数量的最大值,得到3列的结果

id1,id2,number of pairs(found in 1min)
1,2,1
1,4,2
2,4,1
3,5,1

数据记录比较多,有上百亿条,希望直接用sql直接从数据库中得到。

1、我们首先在创建一个WEB页面,用EF导入数据库中的一个实体模型,然后创建一个按钮,点击按钮以后用EF向数据库中执行insert操作。

2、下面我们打开数据库,然后选择数据库工具栏中的工具,然后选择Profile工具。

3、登录了以后,你会发现牵扯到数据库的所以语句执行都在这里显示出来了。

4、然后我们点击我们项目中的“添加”按钮,然后在我们的Profile监听中查看一下他进行了哪些的操作,我们用的登录用户是sa,通过这个我们可以看到语句执行时间。

5、执行的SQL程序。

6、EF自动执行了插入的操作,这些封装都在Entity Framework对应的dll文件中。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-02

1、首先我们打开SQL Server Management Studio软件。

2、然后单击图中的“数据库”前面的“+”号,展开数据库。

3、然后用同样的方法单击图中红色方框标注的数据库,那是用户自己添加的数据库。

4、然后单击红色方框中的“表”,将之展开。

5、如图红色方框中标注的是数据库中表的名字,记住这些名字,接下来有用。

6、然后再次单击自己添加的数据库,选中它,单击“新建查询”。

7、然后在软件的右边就会出现新的页面。

8、在新的页面中输入符合SQL语法的SQL语句,单击图中标注的“查询”就会执行SQL语句了。

9、然后就会出现执行结果了。

本回答被网友采纳
第2个回答  推荐于2017-10-03
  用sql语句,从数据库提取结果属于查询,使用select语句。select语句属于DQL(Data Query Language)。最基本的就是:select [列名1,列名2……] from [表名] where [条件]。
第3个回答  推荐于2017-10-11
dt是指同一天么?
select a.id  ,b.id , count(1)
from  table a 
left join table b on 
    CONVERT(varchar(10), a.time, 112)=CONVERT(varchar(10), b.time, 112) 
    and a.status = b.status 
    and a.id < b.id
where b.id is not null
group by a.id,b.id
order by a.id
上百亿条?

追问

dt表示一个时间窗口长度,如例子中的结果为1分钟

追答上百亿条?
select a.id  ,b.id , count(1)
from  table a 
left join table b on 
    datediff(ss,a.time,b.time)<=60 /*dt 单位秒*/
    and  datediff(ss,a.time,b.time)>= -60
    and a.status = b.status 
    and a.id < b.id
where b.id is not null
group by a.id,b.id
order by a.id

2014-11-14 00:00:00,1,0
2014-11-14 00:00:01,2,0
2014-11-14 00:00:03,3,1
2014-11-14 00:00:04,1,0
2014-11-14 00:00:05,4,0
2014-11-14 00:00:07,4,0 这个1,4的pairs为什么不是4而是2?

追问

这个1,4的pairs的2是指2对,而不是4个

追答

是啊 上面有两个1两个4 第一个1可以有2个4组合(2对),第二个1也可以有2个4组合(2对)

本回答被提问者采纳
第4个回答  2014-11-14
pairs?哪里的?追问

pairs表示id对
结果第三列就是返回有几对是在dt里面的,如1,4就有下面2对记录
2014-11-14 00:00:00,1,0
2014-11-14 00:00:04,1,0
2014-11-14 00:00:05,4,0
2014-11-14 00:00:07,4,0

相似回答