【问题标题】:How to query fields and count in Ecto?如何在 Ecto 中查询字段和计数?
【发布时间】:2018-11-09 12:41:33
【问题描述】:

是否可以在Ecto3中编写以下SQL? 由于我最后想写一个分页逻辑,内部计数 SQL 应该返回计数以匹配内部 SQL 中的条件而不是外部 SQL 中的条件。

SELECT id, (SELECT count(*) FROM questions WHERE id>10) AS count FROM questions WHERE id > 10 LIMIT 3 OFFSET1;

更新:数据库是 mysql

【问题讨论】:

  • 我发现这个链接希望它有用。 hexdocs.pm/ecto/Ecto.html#content
  • 你确定你的sql够用吗?它返回所有 id 并且不计算 id,而是返回一个结果,例如 ("id1",10);("id2",10);("id3",10) - 我的意思是 10 是所有行的值,因为它会选择 count(*) FROM questions WHERE id>10 for all id。也许你需要分组?

标签: elixir ecto


【解决方案1】:

SELECT SQL_CALC_FOUND_ROWSSELECT FOUND_ROWS() 可以满足我的要求。总而言之,我发布了一个处理 SELECT SQL_CALC_FOUND_ROWSSELECT FOUND_ROWS() 的模块

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 2017-08-13
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多