如何在第三列

时间:2015-09-25 15:45:04

标签: sql distinct

我想运行查询

select first_name, last_name, distinct salary from employees

但它会引发错误。如果我使用它select distinct salary, first_name, last_name from employees,它就会运行。

我希望第一列形式的o / p应该是first_name然后是last_name然后是不同的工资。

2 个答案:

答案 0 :(得分:1)

试试这个!

 SELECT Salary, First_Name, Last_Name 
 FROM table_name
 GROUP BY Salary

以上内容应返回共享相同薪水的人员的first_name和last_name列表。

如果您的数据集包含重复的行,您可能希望这样做以消除重复的行:

WITH salaries
     AS ( SELECT DISTINCT Salary,
                          First_Name,
                          Last_Name
          FROM table_name )
     SELECT Salary,
            First_Name,
            Last_Name
     FROM salaries
     GROUP BY Salary;

答案 1 :(得分:0)

这是诀窍,你应该首先插入临时表,在那里你区分salary,然后,你可以在你的临时表中选择你想要的列排列的数据。

    select distinct salary, first_name, last_name * into #temp from employees

然后在不同之后,您现在可以在没有distinct的第二个查询中执行您想要的操作。

    select first_name, last_name, salary from #temp