SLICK:如何在另一个查询中使用查询结果?

瑟瑟隆

我想执行以下操作:

我想返回一个用户列表,该列表首先按用户“关注”的人排序,然后按一些额外的分数得分。但是,我在下面编写的以下代码不起作用,因为资助者是提升的Slick类型,因此在列表中从未找到。

        //The following represents the query for only funders who we are following
        val following_funders:  List[User]  = (
            for {
          funder <- all_funders
          f <- follows if f.followerId === id //get all the current users follower objects
          if f.followeeId === funder.id
        } yield funder
        ).list

      val all_funders_sorted = for {
        funder <- all_funders
        following_funder =  following_funders contains funder
      } yield (funder, following_funder)
      //sort the funders by whether or not they are following the funder and then map it to only the funders (i.e. remove the boolean)
      all_funders_sorted.sortBy(_._2.desc).sortBy(_._1.score.desc).map( x => x._1 )  

所有帮助表示赞赏!

cvogt

您需要在Slick中使用ID(即主键)。这就是在数据库侧唯一标识对象的方式。您不需要执行第一个查询。您可以将其用作第二个组件,而无需首先使用in运算符执行它

    //The following represents the query for only funders who we are following
    val following_funders_ids = (
        for {
      funder <- all_funders
      f <- follows if f.followerId === id //get all the current users follower objects
      if f.followeeId === funder.id
    } yield funder.id

  val all_funders_sorted = for {
    funder <- all_funders
    following_funder = funder.id in following_funders_ids
  } yield (funder, following_funder)
  //sort the funders by whether or not they are following the funder and then map it to only the funders (i.e. remove the boolean)
  all_funders_sorted.sortBy(_._1.impactPoints.desc).sortBy(_._2.desc).map( x => x._1 )   

请注意,如果您首先要按照以下顺序进行排序,则排序顺序是错误的。Slick转换.sortBy(_.a).sortBy(_.b)ORDER BY B,AScala集合就是这样工作的:

scala> List( (1,"b"), (2,"a") ).sortBy(_._1).sortBy(_._2)
res0: List[(Int, String)] = List((2,a), (1,b))

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在另一个查询中使用查询结果

来自分类Dev

如何在联合查询中的另一个选择中使用选择的结果?

来自分类Dev

如何在另一个 MDX 中使用 MDX 查询的结果?

来自分类Dev

如何在rethinkdb中使用另一个查询的结果插入?

来自分类Dev

如何在另一个查询中使用一个查询?

来自分类Dev

如何在另一个查询中使用来自orientjs查询的数组结果-数组不是“数组”

来自分类Dev

在另一个查询中使用MySQL结果

来自分类Dev

如何在另一个查询的LIKE条件下使用SQL查询结果?

来自分类Dev

如何使用一个mysql查询的结果并在php中的另一个查询中使用它?

来自分类Dev

在另一个查询中使用一个RethinkDB查询的结果?

来自分类Dev

在另一个查询中使用一个查询的结果

来自分类Dev

SQL:在另一个查询中使用一个查询的结果

来自分类Dev

MySQL-在另一个查询中使用一个查询的结果

来自分类Dev

在一个查询中使用结果在另一个查询中使用-Orace MySql

来自分类Dev

SQL在另一个查询中使用UNION查询的结果

来自分类Dev

在另一个查询中使用SQL查询结果

来自分类Dev

在另一个查询中使用sql查询的结果

来自分类Dev

在另一个linq查询中使用结果linq查询

来自分类Dev

MySQL-在子查询中使用另一个查询的结果

来自分类Dev

MySQL在另一个查询中使用选择查询结果与逻辑或

来自分类Dev

如何在下一个查询中使用一个查询的结果?

来自分类Dev

在另一个查询的LIKE条件下如何使用SQL查询结果?

来自分类Dev

从php中最后执行的mysqli查询中获取结果,并在另一个查询中使用结果

来自分类Dev

使用另一个查询的结果更新表

来自分类Dev

在另一个私有void方法中使用查询结果

来自分类Dev

在另一个查询中使用 SCOPE_IDENTITY 结果

来自分类Dev

Codeigniter在另一个查询中使用查询结果的一部分

来自分类Dev

如何将一个查询的结果连接到另一个查询

来自分类Dev

SQL如何在查询中为另一个查询使用值

Related 相关文章

  1. 1

    在另一个查询中使用查询结果

  2. 2

    如何在联合查询中的另一个选择中使用选择的结果?

  3. 3

    如何在另一个 MDX 中使用 MDX 查询的结果?

  4. 4

    如何在rethinkdb中使用另一个查询的结果插入?

  5. 5

    如何在另一个查询中使用一个查询?

  6. 6

    如何在另一个查询中使用来自orientjs查询的数组结果-数组不是“数组”

  7. 7

    在另一个查询中使用MySQL结果

  8. 8

    如何在另一个查询的LIKE条件下使用SQL查询结果?

  9. 9

    如何使用一个mysql查询的结果并在php中的另一个查询中使用它?

  10. 10

    在另一个查询中使用一个RethinkDB查询的结果?

  11. 11

    在另一个查询中使用一个查询的结果

  12. 12

    SQL:在另一个查询中使用一个查询的结果

  13. 13

    MySQL-在另一个查询中使用一个查询的结果

  14. 14

    在一个查询中使用结果在另一个查询中使用-Orace MySql

  15. 15

    SQL在另一个查询中使用UNION查询的结果

  16. 16

    在另一个查询中使用SQL查询结果

  17. 17

    在另一个查询中使用sql查询的结果

  18. 18

    在另一个linq查询中使用结果linq查询

  19. 19

    MySQL-在子查询中使用另一个查询的结果

  20. 20

    MySQL在另一个查询中使用选择查询结果与逻辑或

  21. 21

    如何在下一个查询中使用一个查询的结果?

  22. 22

    在另一个查询的LIKE条件下如何使用SQL查询结果?

  23. 23

    从php中最后执行的mysqli查询中获取结果,并在另一个查询中使用结果

  24. 24

    使用另一个查询的结果更新表

  25. 25

    在另一个私有void方法中使用查询结果

  26. 26

    在另一个查询中使用 SCOPE_IDENTITY 结果

  27. 27

    Codeigniter在另一个查询中使用查询结果的一部分

  28. 28

    如何将一个查询的结果连接到另一个查询

  29. 29

    SQL如何在查询中为另一个查询使用值

热门标签

归档