【问题标题】:SQL ORDER BY IN SELECT FROM STRING SPLIT or Comma Separated ValueSQL ORDER BY IN SELECT FROM STRING SPLIT 或逗号分隔值
【发布时间】:2021-01-04 23:03:31
【问题描述】:

我想知道在 SQL 中是否可以通过来自 String_split 的查询或像这样的 csv 进行排序

select item_number 
from table1 
order by ('335484,105666,105681,338706,144516') 
      offset 0 rows fetch next 30 rows only

此列表是item_numberoffsetfetch next..

谢谢

【问题讨论】:

  • 你到底想要什么?您能否也添加预期结果?
  • 用您正在使用的数据库标记您的问题。

标签: sql linq


【解决方案1】:

不,这是不可能的,您尝试订购的每个字段都应该是单独的,在您的情况下,每个字段都将在一个单引号内,然后用逗号分隔

【讨论】:

    【解决方案2】:

    如果我理解正确,您可以为此使用字符串操作。因为问题被标记为 linq,所以我假设您使用的是 SQL Server:

    select item_number 
    from table1 
    order by charindex(',', item_number + ',', ',' + '335484,105666,105681,338706,144516' + ',') 
    offset 0 rows fetch next 30 rows only;
    

    这会返回字符串中数字的位置,并使用该位置进行排序。

    你可以在其他数据库中做类似的事情。

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 2023-02-03
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      相关资源
      最近更新 更多