[英]SQL select distinct column of one and display all
我有一張這樣的桌子
ID | course_id | date | location
1 | 02 | 02-02-2020 | HL
2 | 02 | 02-02-2020 | JL
3 | 13 | 04-02-2020 | BK
4 | 14 | 13-03-2020 | HL
5 | 13 | 18-03-2020 | JL
我想獲得一個表格,過濾 course_id 以僅顯示唯一但還獲取所有其他數據
ID | course_id | date | location
1 | 02 | 02-02-2020 | HL
3 | 13 | 04-02-2020 | BK
4 | 14 | 13-03-2020 | HL
所以我會得到這樣的結果。
我已經完成了SELECT DISTINCT 'course_id' FROM 'course_batches' ORDER BY 'ID' DESC
這只會拉出唯一的 course_id 列。 然后我試過了
SELECT *
FROM 'course_batches' AS a
JOIN (SELECT DISTINCT(course_id) AS col1 FROM 'course_batches') ORDER BY 'ID' DESC
哪個返回了錯誤。 我可能下錯了訂單或調用了完全不同的查詢,但我不確定這里出了什么問題
通用方法使用相關子查詢:
select cb.*
from course_batches cb
where cb.id = (select max(cb2.id) from course_batches cb2 where cb2.course_id = cb.course_id);
筆記:
(course_id, id)
上的索引。cb
是縮寫)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.