【问题标题】:How to group rows and select latest date to display in a data table如何对行进行分组并选择要在数据表中显示的最新日期
【发布时间】:2014-11-26 03:58:01
【问题描述】:

我可以通过哪些方式对第一张图片中的数据表进行排序,使其看起来像第二张图片中的样子?

当两行或多行的剂量、药物和患者的值相同时,我想将它们合并并使用最新的日期。

【问题讨论】:

  • 您是从数据库中查询这些吗?如果有,您的 DBMS 是什么?
  • 在你的sql查询中做,这是正确的方法。
  • 我建议以后花时间用您的数据实际创建表格,而不是粘贴图像。它使某人更难在 SQL Fiddle 中重新创建您的问题以进行测试。

标签: c# sql-server datatable dataview


【解决方案1】:

在不深入实际的 C# 代码的情况下,我建议不要关注如何操作数据表,而是编写适当的查询来获取所需的信息。

您可以使用GROUP BY 子句按剂量、药物和患者进行分组,并在您的选择语句中使用MAX() 来获取该组的最新日期。您还可以按日期升序排序以匹配您拥有的布局。试试这个:

SELECT dosage, drug, patient, MAX(date) AS date
FROM myTable
GROUP BY dosage, drug, patient
ORDER BY date ASC;

这里有一个SQL Fiddle 示例供您参考。

【讨论】:

  • 谢谢!不知道很多 SQL 命令,但用 SQL 进行操作似乎比 C# 容易得多。
  • @Jliu1729 在我看来,这绝对更容易。如果您可以编写正确的查询,您所要做的就是遍历您的结果集并添加到表中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 2020-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多