【问题标题】:How do you return the max of a column (Text field)? [closed]如何返回列的最大值(文本字段)? [关闭]
【发布时间】:2019-01-24 23:30:20
【问题描述】:

我找不到执行以下简单查询的方法:

SELECT max(@SomeCol) FROM test_table;

除此之外,我几乎可以做任何其他事情,max 不会返回我期望的结果。

【问题讨论】:

  • 我不知道你为什么在列名中有@
  • “猫”的最大值是多少?
  • 添加更多关于 max 不起作用的信息。

标签: c# sql ms-access oledb


【解决方案1】:

您可以通过将 dB 查询/表加载到 .Net DataTable 中并使用它的 Compute 方法来解决此问题:

DataTable.Compute("AggregateFunction(DataColumn)", "condition|Nothing|null")

【讨论】:

  • 嘿,谢谢伙计!这正是我所需要的,Access 很奇怪,但是伙计,谢谢你的保存。
【解决方案2】:

该问题没有足够的关于@SomeCol 数据类型的信息。假设它适用于数字列并且您的问题只是文本或字符串列,那么顺序将按 ascii 排序顺序排列。

例如,如果表具有以下值,则返回的最大值将为“Sridevi”。

Name
====
Michael
Indra
Sridevi
Roger

select max(Name) from test_table;

MAX(Name)
=========
Sridevi

如果你想根据整理顺序取货,那么使用以下:

select SomeCol from test_table order by lpad( SomeCol, 2 );

除了 2,您可以使用任意数量的字符来整理序列顺序。此示例适用于 Oracle 关系数据库。

【讨论】:

    猜你喜欢
    • 2022-09-30
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 2011-04-15
    相关资源
    最近更新 更多