0300valid.mql 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. -- 查询指定 DB 下的 表
  2. -- /DB/table 与 class 命名发生冲突时,class 优先级高于 /DB/table
  3. select * from /mdbxdb/sqlite_master
  4. /**
  5. output()
  6. **/
  7. ;
  8. select * from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record
  9. limit 1
  10. /**
  11. output()
  12. count(1)
  13. **/
  14. ;
  15. -- 1cpu 4GB 普通机械硬盘
  16. -- 只查 id 13s
  17. -- 查两个字段 id,project_1000119_harness_draft_trades_on 45s
  18. select id,project_1000119_harness_draft_trades_on from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record
  19. /**
  20. outputcount()
  21. count(920706)
  22. **/
  23. ;
  24. -- select * from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record
  25. -- where project_1000119_harness_draft_trades_on in ('project_1000119_harness_draft_trade_instrument:INSTRUMENT_000000042')
  26. -- /**
  27. -- output()
  28. -- **/
  29. -- ;
  30. -- 全量映射(也可以指定固定条件映射部分数据),
  31. -- 实际类中没有数据
  32. -- 查询时自动赋值默认类属性:
  33. -- class: 类名/mdbx/dba1,
  34. -- id: 组合映射表主键为字符串,
  35. -- name: 与id相同,
  36. -- day: 当前日期,
  37. -- vtime: 当前时间
  38. -- rdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序或相应表字段定义顺序一致
  39. -- rdb 数据 与 id 一一对应,实际 二维数组中的第一维 有且只有 一个元素
  40. -- 支持 bucket 链式表达式
  41. select id,rdb from /mdbx/dba1
  42. /**
  43. output()
  44. **/
  45. ;
  46. -- 条件映射
  47. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  48. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  49. -- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定
  50. -- 支持 bucket 链式表达式
  51. select * from /mdbx/dba2
  52. /**
  53. output()
  54. **/
  55. ;
  56. -- 条件映射
  57. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  58. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  59. -- xrdb 数据 与 id 为多对一关系
  60. -- 支持 bucket 链式表达式
  61. select id,xvarchar,xrdb.find(整数>1) from /mdbx/dba2
  62. /**
  63. output()
  64. **/
  65. ;
  66. -- 条件映射
  67. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  68. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  69. -- xrdb 数据 与 id 为多对一关系
  70. -- 支持 bucket 链式表达式
  71. select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdbx/dba2
  72. /**
  73. output()
  74. **/
  75. ;
  76. -- 条件映射
  77. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  78. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  79. -- xrdb 数据 与 id 为多对一关系
  80. -- 支持 bucket 链式表达式
  81. -- 支持 assert(AEXP)
  82. select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdbx/dba2 where xrdb.avg("浮点").groupby("字符串").assert(avg>0)
  83. /**
  84. output()
  85. **/
  86. ;
  87. -- 条件映射
  88. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  89. -- TODO 重组 xrdb 指定字段,输出平表
  90. -- TODO 允许 bucket 与普通类操作方式一致
  91. -- TODO assert(AEXP) 可转换为 id in bucketfield.exps(...).find(AEXP).ids(),
  92. -- TODO 相同的链式表达式 bucketfield.exps(...) 可以复用中间结果
  93. -- select id, xrdb.字符串, xrdb.整数.mod(10) from /mdbx/dba2 where xrdb.整数 > 0
  94. /**
  95. output()
  96. **/
  97. ;