![](/img/trans.png)
[英]Updating a Column with the minimum value of that same column depending on a 2nd column
[英]How to order by one column and make elements with same 2nd column contino uous?
我有兩列id
和resolvedId
。 現在,我想訂購由列id desc
,但希望同列resolvedId
出現另一個之后。 到目前為止嘗試了group by但我的理解是它只能用於匯總函數,例如sum等。在mysql中這樣做的任何簡單方法? 我的另一個選擇是將它們作為單獨的結果集放入php中,然后根據resolvedId進行插入。 id是唯一的auto_increment,resolveId將成為id之一。 樣本數據
id| name| resolvedId
1 nam 1
2 bam 4
3 sam 3
4 dam 4
5 ham 3
6 ram 4
需要輸出
id| name| resolvedId
6 ram 4
4 dam 4
2 bam 4
5 ham 3
3 sam 3
1 nam 1
樣本數據2
id| name| resolvedId
1 nam 1
2 bam 4
3 sam 3
4 dam 4
5 ham 3
6 ram 1
需要輸出
id| name| resolvedId
6 ram 1
1 nam 1
5 ham 3
3 sam 3
4 dam 4
2 bam 4
這是一個可能適當的解決方案:
select tbl.* from
( select MAX(id) as m, resolvedId from tbl GROUP BY resolvedId) as driver
JOIN tbl
ON driver.resolvedId = tbl.resolvedId
ORDER BY driver.m desc, tbl.id desc, driver.resolvedId;
與您合作最新的示例http://sqlfiddle.com/#!2/e3a2f/1和http://sqlfiddle.com/#!2/7fb2ce/4
根據我的理解,如果沒有對數據集的進一步限制,就無法獲得所要求的內容。 假設您有以下數據:
id resolvedId
1 4
2 3
3 4
通過id desc
訂購它只會導致已停止的resolvedId
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.