【问题标题】:Show only first value if equals and group by id in sqlite db 3?如果在 sqlite db 3 中等于并按 id 分组,则仅显示第一个值?
【发布时间】:2014-09-27 22:13:43
【问题描述】:

我有付款表,我想按 ID 和年份查看所有付款组。

付款表

ID                 CustomerId    Year
bc7e8ab29          1             2013
35bf3b856          1             2014
667fa9a36          2             2011
51a1e0913          2             2012

我想得到这样的表:

   CustomerId    YEAR
   1           | 2013
               | 2014


   2           | 2011
               | 2012

【问题讨论】:

  • 您使用的是哪个 DBMS?后格雷斯?甲骨文?
  • 其实我用的是sqlite
  • 请提供付款表中的示例数据

标签: sql sqlite group-by


【解决方案1】:

这个结果:

| CustomerId | Year |
|------------|------|
|          1 | 2013 |
|          1 | 2014 |
|          2 | 2011 |
|          2 | 2012 |

制作者:

SELECT
        CustomerId
      , Year
FROM payments
GROUP BY
        CustomerId
      , Year
;

【讨论】:

  • 我只想在顶部看到一个客户 ID,其他必须显示为空
  • 这不是 SQL 的工作,它会故意重复该数据。您将如何使用它,例如,如果您有空值,您将如何对其进行排序?如果您有空值,您将如何从中选择?
  • 我会将这些数据导出到 excel 表中。我的表中有太多行。如果我从服务器端做这项工作,我会花时间,所以我研究在 sql.is 上处理这个我想要的那不可能?
  • 只要在 Excel 中隐藏不需要的数据,相信我您实际上需要每一行的 customerid(例如,做一个数据透视表,这将是必不可少的)。 SQL 不是格式化工具。
猜你喜欢
  • 1970-01-01
  • 2023-02-02
  • 2015-07-23
  • 2021-09-11
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多