【问题标题】:Select rows unique with conditions SQL选择具有条件 SQL 的唯一行
【发布时间】:2021-03-10 07:25:45
【问题描述】:

我有如下图所示的桌子。 输入是用户名(例如 user01)。 输出是用户名 = 用户输入的所有行(例如 user01) 在名称列,它是唯一的。 我应该怎么做 SQL 语法?

【问题讨论】:

标签: sql select unique


【解决方案1】:
SELECT DISTINCT [NAME], [USER] FROM TABLENAME WHERE [USER]='user01'

【讨论】:

  • 感谢您的帮助!但是您的语法只有 2 列:名称和用户。我想获取所有行输出。
【解决方案2】:

使用 DISTINCT 关键字获取唯一记录。

SELECT DISTINCT [NAME], [USER] FROM TABLENAME WHERE [USER]='user01'

SELECT DISTINCT [NAME], [USER] FROM TABLENAME WHERE [USER]='user03'

【讨论】:

  • 感谢您的帮助!但是您的语法只有 2 列:名称和用户。我想获取所有行输出。
  • 请检查我的新答案
【解决方案3】:

试试这个:

; With Temp As (
Select  Row_Number() Over(Partition By Name, [User] Order By Name, [User]) As SRNO,
        RowId,
        Name,
        [User]
From TempData )
Select  RowId,
        Name,
        [User]
From Temp
Where [User] = 'User 01' And SRNO = 1
Order BY SRNO

【讨论】:

    【解决方案4】:

    -- POSTGRESQL 语法

    -- 用户询问他的名字

    SELECT user, 
           name 
      from "Your_TABLE"        
     where user in ('user01','user03');     
    

    【讨论】:

    • 感谢您的帮助!但是您的语法只有 2 列:名称和用户。我想获取所有行输出。
    • 如果你想获取所有列:你写:--postgresql 语法 --> SELECT * FROM 'Your_TABLE WHERE user in ('user01', 'user02')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    相关资源
    最近更新 更多