我正在寻找一个查询/一组 SQL 查询,它将为我提供具有“非空/非空字段的最大数量”的记录的记录 ID。
我正在研究count()
和max()
功能,但他们似乎正在解决同一列的问题,但不是同一行(这就是我正在寻找的)。
请帮忙。
我正在寻找一个查询/一组 SQL 查询,它将为我提供具有“非空/非空字段的最大数量”的记录的记录 ID。
我正在研究count()
和max()
功能,但他们似乎正在解决同一列的问题,但不是同一行(这就是我正在寻找的)。
请帮忙。
你可以order by
非空字段的数量:
select top 1 Record_ID
from YourTable
order by
case when isnull(col1,'') <> '' then 1 else 0 end +
case when isnull(col2,'') <> '' then 1 else 0 end +
case when isnull(col3,'') <> '' then 1 else 0 end +
...
case when isnull(colN,'') <> '' then 1 else 0 end
这是 SQL Server 语法。如果您使用的是其他数据库,请修改您的问题。