這是我的數據。我想採用6行,但我希望所有HeadlineCategoryId
在我的結果列表中都是唯一的。如果我選擇前6名,我會從HeadlineCategoryID
20(6,2)中取2排。你有什麼建議嗎?
回答
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT HeadlineCategoryID, MAX(Creation) max_date
FROM TableName
GROUP BY HeadlineCategoryID
) b ON a.HeadlineCategoryID = b.HeadlineCategoryID AND
a.Creation = b.max_date
ORDER BY a.Creation DESC -- << specify here how are you going to sort
LIMIT 6 -- the records you want to get
更新1
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT HeadlineCategoryID, MAX(NewsID) max_id
FROM TableName
GROUP BY HeadlineCategoryID
) b ON a.HeadlineCategoryID = b.HeadlineCategoryID AND
a.NewsID = b.max_id
ORDER BY a.Creation DESC -- << specify here how are you going to sort
LIMIT 6 -- the records you want to get
我也厭倦了您的查詢,但它與Gordon的答案是相同的結果。 – cagin 2013-05-07 13:55:38
由於'Creation'是相同的,請嘗試使用'NewdID'來更改它。我會更新答案。 – 2013-05-07 13:57:11
再試一次...... – 2013-05-07 13:57:54
它看起來像你想的六個最近的記錄,但HeadlineCategoryId獨特。如果是這樣,這將工作:
select top 6 NewsId, Creation, HeadlineCategoryId
from (select t.*,
row_number() over (partition by HeadlineCategoryId order by Creation desc) as seqnum
from t
) t
where seqnum = 1
作爲一個說明。 。 。這個問題最初表明它使用的是SQL Server,而不是MySQL。 MySQL中的解決方案並不那麼簡單。這裏有一個方法與not exists
:
select NewsId, Creation, HeadlineCategoryId
from t
where not exists (select 1
from t t2
where t2.HeadlineCategoryId = t.HeadlineCategoryId and
t2.id < t.id)
limit 6
的not exists
部分說:「那裏沒有其他記錄與給定標題類別更大的ID」。
- 1. 訂購mysql查詢?
- 2. 訂購MySQL查詢結果
- 3. 訂購查詢
- 4. 訂購複雜的MySql查詢
- 5. MySQL查詢排序和訂購
- 6. 如何訂購這個UNION MySQL查詢?
- 7. 複雜的MySQL查詢網上訂購
- 8. 如何按範圍訂購MySQL查詢?
- 9. 如何在MySQL中訂購子查詢?
- 10. SQL查詢訂購
- 11. SQL查詢訂購
- 12. 訂購每個查詢結果後聯合多個mysql查詢
- 13. 如何通過另一個查詢來訂購MYSQL查詢?
- 14. 按成本訂購查詢
- 15. ActiveRecord的查詢訂購
- 16. 訂購前十名查詢
- 17. Linq查詢,如何訂購
- 18. Linqbuilder查詢與訂購BY
- 19. 訂購所有查詢
- 20. Phoenix:訂購查詢集
- 21. 如何訂購此查詢?
- 22. 如何訂購此查詢?
- 23. 訂購GROUP BY查詢
- 24. sql訂購colums查詢
- 25. JDO查詢訂購問題
- 26. Swift Firebase訂購查詢
- 27. 從ASC訂購到DESC訂單的MySQL子查詢
- 28. 訂單在Mongoid查詢失敗訂購
- 29. PHP MYSQL訂購
- 30. MySQL的訂購 - 在
真的是你使用哪個服務器? MySQL或SQL服務器?如果你拿到前6,它會返回兩個'20',你想得到什麼記錄? '2'還是'6'? – 2013-05-07 13:42:38
@JW웃你可以明白我的問題的標題我使用MySQL ......我不想讓2條記錄的20 – cagin 2013-05-07 13:44:20
什麼決定你想要的NewSID的/創建的副本headlinecategoryids? – ysth 2013-05-07 13:57:29