0
A
回答
3
我相信你正在尋找這樣的:
這裏是1路:
select distinct first_value(customer_id) over (partition by customer_id
order by error_id) customer_id,
first_value(error_id) over (partition by customer_id
order by error_id) error_id,
first_value(error_description) over (partition by customer_id
order by error_id) error_description
from customer_error
/
和方式略有不同:
select customer_id, error_id, error_description
from (
select row_number() over (partition by customer_id
order by error_id) rnum,
customer_id, error_id, error_description
from customer_error
)
where rnum = 1
/
兩者都使用Analytics(分析),一個非常有用的工具來做這種事情,我建議讀o因爲它非常有用,所以學習它。
-1
您可以使用CTE和Row_Number()函數。
with tmp1 as
(select *,
ROW_NUMBER() over (partition by customer_id order by error_id) as RowNum
from YourTable
)
select customer_id, error_id, error_description
from tmp1
where RowNum = 1
文檔上ROW_NUMBER():https://msdn.microsoft.com/en-us/library/ms186734.aspx和https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions137.htm
+0
問題用oracle標記,因此提供SQL Server文檔引用會引起誤解。 – Sentinel
1
該解決方案假設錯誤是由ERROR_ID訂購和使用聚合函數,而不是解析函數:
select customer_id
, max(error_id) KEEP (DENSE_RANK FIRST ORDER BY error_id) error_id
, max(error_description) KEEP (DENSE_RANK FIRST ORDER BY error_id) error_description
from customer_error
group by customer_id;
2
如果我們假設ERROR_NUMBER最小值是首先出現的值,我們可以用普通的sql來做到這一點。我們的目標是獲得每個客戶的最小錯誤數量,然後將錯誤的相關錯誤描述粘貼到其上。
SELECT a.customer_id, a.error_id, b.error_description FROM
(SELECT customer_id, MIN(error_id) FROM customer_error
GROUP BY customer_id) a
LEFT JOIN customer_error b on a.error_id=b.error_id;
相關問題
- 1. 如何使用具有角
- 2. 如何使用具有GROUP BY的SELECT和具有在特定SQL情況下
- 3. 顯示從具有SQL
- 4. 如何從asp.net使用SQL?
- 5. 如何使用SQL調用具有數組作爲參數的pl/SQL函數
- 6. 如何使用Telerik ORM反轉映射具有SQL Compact 4.0?
- 7. 如何使用SQL獲得具有相同值的行數?
- 8. 如何使用SQL訪問具有特定ID的第一行?
- 9. 如何使用Linq-to-SQL刪除具有空外鍵的行?
- 10. 如何使具有使用grails2.0
- 11. 如何從使用從我的SQL表
- 12. 如何打開不使用sql工具箱的現有.sql文件的連接?
- 13. PHP SQL查詢如何具有'變量
- 14. 如何創建「不具有」SQL命令
- 15. 如何從具有「IF」狀態的SQL查詢中排除行
- 16. 如何從具有特定值的sql中排除記錄
- 17. 「具有」在SQL
- 18. 如何從具有的ListProperty我目前使用Django
- 19. 如何從具有LONG列的表中使用CTAS?這裏
- 20. 如何使用Octicon具有角2
- 21. 如何使用Postgres的具有外生
- 22. 如何選擇具有使用PowerShell
- 23. 如何打印具有使用python
- 24. 如何使用UISearchBar與具有部分
- 25. 如何使用變量在具有HTML
- 26. 如何使用具有位圖的relativelayout.setBackgroundDrawable()?
- 27. 如何訂購使用具有()
- 28. 如何使用與具有IDS
- 29. 如何使路徑具有「/」
- 30. 如何使Netbeans的具有
請把你的嘗試以及 –
我們應該怎麼知道發生第一?它是否在ERROR_ID順序或其他順序?除非您使用order by子句,否則Oracle不會按任何特定順序返回記錄。 – Sentinel