Sql Loye1id) 2.按托运人名称分组,最后1海里 |托运人名称|最近1海里|无订单|
有关更多说明,请参阅我的链接Sql Loye1id) 2.按托运人名称分组,最后1海里 |托运人名称|最近1海里|无订单|,sql,oracle,Sql,Oracle,有关更多说明,请参阅我的链接 您正在寻找一种美化数据表示的方法。这不是SQL的目的。我这样做是为了向管理层提交报告。是的,这是可能的。请查看,其中说明了如何执行此操作。警告:很复杂。@Luke101不要直接从SQL输出。在Excel或类似的工具中进行,可以很容易地使用SQL作为数据源。然后在Excel中给他们提供报告或添加其他层来美化数据。这不是RDBMS的用途。谢谢。我不得不稍微调整一下查询,但它现在可以工作了。我很感激你给我指引了正确的方向。我完全忘记了窗口功能的美丽。为什么不从选择列表中删
您正在寻找一种美化数据表示的方法。这不是SQL的目的。我这样做是为了向管理层提交报告。是的,这是可能的。请查看,其中说明了如何执行此操作。警告:很复杂。@Luke101不要直接从SQL输出。在Excel或类似的工具中进行,可以很容易地使用SQL作为数据源。然后在Excel中给他们提供报告或添加其他层来美化数据。这不是RDBMS的用途。谢谢。我不得不稍微调整一下查询,但它现在可以工作了。我很感激你给我指引了正确的方向。我完全忘记了窗口功能的美丽。为什么不从选择列表中删除外部
SELECT
、内部DISTINCT
、原始YT.NAME
?我希望得到同样的结果。
Name Location
----------------------
user1 1
user1 9
user1 3
user2 1
user2 10
user3 97
Name Location
----------------------
user1 1
9
3
user2 1
10
user3 97
SQL> break on name
SQL> WITH q AS (
SELECT 'user1' NAME, 1 LOCATION FROM dual
UNION ALL
SELECT 'user1', 9 FROM dual
UNION ALL
SELECT 'user1', 3 FROM dual
UNION ALL
SELECT 'user2', 1 FROM dual
UNION ALL
SELECT 'user2', 10 FROM dual
UNION ALL
SELECT 'user3', 97 FROM dual
)
SELECT NAME,LOCATION
FROM q
ORDER BY name;
NAME LOCATION
----- ----------
user1 1
9
3
user2 1
10
user3 97
6 rows selected.
SQL>
SELECT
CASE main.name WHERE preceding_id IS NULL THEN main.name ELSE null END,
main.location
FROM mytable main LEFT JOIN mytable preceding
ON main.name = preceding.name AND MIN(preceding.id) < main.id
GROUP BY main.id, main.name, main.location, preceding.name
ORDER BY main.id
SELECT A.FINAL_NAME, A.LOCATION
FROM (SELECT DISTINCT DECODE((LAG(YT.NAME, 1) OVER(ORDER BY YT.NAME)),
YT.NAME,
NULL,
YT.NAME) AS FINAL_NAME,
YT.NAME,
YT.LOCATION
FROM YOUR_TABLE_7 YT) A
1 1
2 user2 1
3 user3 97
4 user1 1
5 3
6 9
7 10
SELECT DECODE((LAG(YT.NAME, 1) OVER(ORDER BY YT.NAME)),
YT.NAME,
NULL,
YT.NAME) AS FINAL_NAME,
YT.LOCATION
FROM SO_BUFFER_TABLE_7 YT
SELECT a, COUNT(b) FROM test_table GROUP BY a ORDER BY NULL;