有什么方法可以从表1中获得TOP N条记录,其中N条基于表2

机灵的

表格1

Rowno   name         Date
------------------------------------
1     sathish        Dec 21    
2     kumar          Dec 22
3     sathish        Dec 21
4     sathish        Dec 22
5     sathish        Dec 21
5     sathish        Dec 22

表2

Date          NoofTran
-----------------------
Dec22            2
Dec21            1

我想table1根据table2 nooftran值随机获取记录

在12月22日,表2中的交易次数为2,因此有两条记录应该在相应的日期从表1中获取该记录,并且应该是随机情况。因此,在12月22日的3条记录中,有2条应该随机出现。

我应该使用什么SQL查询?

阿杜奇

如果您使用的是SQL Server,则可以像这样使用交叉应用

select t1.*
from Table2 as t2
cross apply
(
   select top (select T2.nooftran) *
   from Table1 as t1
   where t2.Date = t1.date
   order by newid()       
) as t1

样本

declare @T1 table (rowno int, name varchar(max), [date] date);
declare @T2 table ([date] date, nooftran int);

insert into @T1 values 
(1, 'sathish', '2015-01-01'),
(2, 'kumar', '2016-01-01'),
(3, 'sathish', '2015-01-01'),
(4, 'sathish', '2016-01-01'),
(5, 'sathish', '2015-01-01'),
(5, 'sathish', '2016-01-01');

insert into @T2 values ( '2016-01-01', 2), ( '2015-01-01', 1);

select t1.*
from @T2 as t2
cross apply
(
   select top (select T2.nooftran) *
   from @T1 as t1
   where t2.Date = t1.date
   order by newid()       
) as t1

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将具有1到N关系的表合并为1条记录,其中N条记录的最后一个值

来自分类Dev

获取DynamoDB表中的最后N条记录

来自分类Dev

如何查询表中的最后“ n”条记录?

来自分类Dev

使用where条件从表中获取最新的N条记录

来自分类Dev

获取DynamoDB表中的最后N条记录

来自分类Dev

如何从mysql中的每个表中导出N条记录?

来自分类Dev

表上每N条记录的列增量值

来自分类Dev

将 2 条记录解析为 1 条并连接表

来自分类Dev

查询以获取具有满足表2中条件的N条最大记录的子查询的表1中每一行的结果

来自分类Dev

从日期(事件的用户日志)排序的多个表中获取最后n条记录的有效方法

来自分类Dev

如何在没有表的情况下在SELECT语句中返回N条记录

来自分类Dev

SQL查询字符串以获取表中的下N条记录

来自分类Dev

从配置单元中的表中获取最新的 2 条记录

来自分类Dev

SQL生成包含多个前X条记录的表,其中前#条来自另一个表

来自分类Dev

如何通过排除组数组来获取MySQL表的前N条记录?

来自分类Dev

如何通过排除组数组来获取MySQL表的前N条记录?

来自分类Dev

如何为架构的每个表创建“统计信息”?(其中统计信息表示每个表有1条返回的记录)

来自分类Dev

如何比较同一张表的2条记录?

来自分类Dev

用1.5m条记录优化mysql表,其中大多数被软删除

来自分类Dev

从表中删除前10条记录

来自分类Dev

修剪表500条记录中JPQL

来自分类Dev

获取表中的前100条记录

来自分类Dev

从表中删除前10条记录

来自分类Dev

从表中获取最后200条记录

来自分类Dev

为什么带有200.000条记录的SELECT表使用过多的内存(+ 2GB)?

来自分类Dev

选择N-1条记录进行更新

来自分类Dev

仅显示前n条记录,并在XML中添加“ ...”

来自分类Dev

如何从numpy数组中获取N条记录?

来自分类Dev

获取每个类别中的N条最新记录。Postgres

Related 相关文章

  1. 1

    将具有1到N关系的表合并为1条记录,其中N条记录的最后一个值

  2. 2

    获取DynamoDB表中的最后N条记录

  3. 3

    如何查询表中的最后“ n”条记录?

  4. 4

    使用where条件从表中获取最新的N条记录

  5. 5

    获取DynamoDB表中的最后N条记录

  6. 6

    如何从mysql中的每个表中导出N条记录?

  7. 7

    表上每N条记录的列增量值

  8. 8

    将 2 条记录解析为 1 条并连接表

  9. 9

    查询以获取具有满足表2中条件的N条最大记录的子查询的表1中每一行的结果

  10. 10

    从日期(事件的用户日志)排序的多个表中获取最后n条记录的有效方法

  11. 11

    如何在没有表的情况下在SELECT语句中返回N条记录

  12. 12

    SQL查询字符串以获取表中的下N条记录

  13. 13

    从配置单元中的表中获取最新的 2 条记录

  14. 14

    SQL生成包含多个前X条记录的表,其中前#条来自另一个表

  15. 15

    如何通过排除组数组来获取MySQL表的前N条记录?

  16. 16

    如何通过排除组数组来获取MySQL表的前N条记录?

  17. 17

    如何为架构的每个表创建“统计信息”?(其中统计信息表示每个表有1条返回的记录)

  18. 18

    如何比较同一张表的2条记录?

  19. 19

    用1.5m条记录优化mysql表,其中大多数被软删除

  20. 20

    从表中删除前10条记录

  21. 21

    修剪表500条记录中JPQL

  22. 22

    获取表中的前100条记录

  23. 23

    从表中删除前10条记录

  24. 24

    从表中获取最后200条记录

  25. 25

    为什么带有200.000条记录的SELECT表使用过多的内存(+ 2GB)?

  26. 26

    选择N-1条记录进行更新

  27. 27

    仅显示前n条记录,并在XML中添加“ ...”

  28. 28

    如何从numpy数组中获取N条记录?

  29. 29

    获取每个类别中的N条最新记录。Postgres

热门标签

归档