How can I get the output like this from the table? If I have a table for example shown below
如何从表中获得这样的输出?如果我有一个表格,例如如下所示
First Name Last Name
----------
1. John Doe
2. John Ruggles
3. Ricky Rog
4. kelly Ali
5. Ricky Gyri
I want to show this as below
我想将此显示如下
First Name Last Name
1.John Doe
Ruggles
2. Kelly Ali
3. Ricky Rog
Gyri
Like for each name I want to display last name. I want First Name will appear only one time. Please help me. Its a tabular data, first name and last name are different columns
就像每个名字一样,我想显示姓氏。我希望First Name只出现一次。请帮我。它的表格数据,名字和姓氏是不同的列
1 个解决方案
#1
You can use the row_number()
analytic function to determine if the last name has changed:
您可以使用row_number()分析函数来确定姓氏是否已更改:
select case
when row_number() over (partition by FirstName
order by FirstName, LastName) = 1
then FirstName
else ''
end as FirstName
, LastName
from YourTable
order by
YourTable.FirstName
, LastName
SQL Fiddle的例子。
#1
You can use the row_number()
analytic function to determine if the last name has changed:
您可以使用row_number()分析函数来确定姓氏是否已更改:
select case
when row_number() over (partition by FirstName
order by FirstName, LastName) = 1
then FirstName
else ''
end as FirstName
, LastName
from YourTable
order by
YourTable.FirstName
, LastName
SQL Fiddle的例子。