如果我有这样的桌子
UserName | BoardName
-----------------------
Alice Research
Ethan Research
Ethan Gardening
Ethan Movies
Jack Travel
Jack Movies
Tom Gardening
Tom Teaching
Tom Travel
Tom Movies
Tom Study我可以使用PL/SQL查询获得这样的结果吗?
Alice Research
Ethan Research
Gardening
Movies
Jack Travel
Movies
Tom Gardening
Teaching
Travel
Movies
Study注意到在UserNames之后是如何出现空白单元格的?如果问题不太清楚,很抱歉。
我认为一个由查询组成的组可以工作,但我不确定。
发布于 2013-11-19 09:40:34
请尝试:
SELECT
case when UserName=lag(UserName) OVER (ORDER BY UserName)
then null
else UserName end UserName,
UserEmail,
BoardName
FROM
YourTable;SQL Fiddle演示
发布于 2013-11-19 09:30:03
SELECT
UserName,
BoardName
FROM
TheTable
GROUP BY
UserName,
BoardName会让你
John Cooking
John Travel
Tom Cooking
Bill Sport因此,诀窍是找出组中的行num并处理它。
也许是这样的?
SELECT
CASE
WHEN ROW_NUMBER() OVER (partition by GROUP order by UserName, BoardName) > 1 THEN ''
ELSE UserName
END AS UserName,
BoardName
FROM
TheTable
GROUP BY
CASE
WHEN ROW_NUMBER() OVER (partition by GROUP order by UserName, BoardName) > 1 THEN ''
ELSE UserName
END,
BoardName我没有神谕所以不能测试它。
https://stackoverflow.com/questions/20067598
复制相似问题