簡體   English   中英

為另一列中的每個值選擇不同的列,然后分組為

[英]Select Distinct Column For Each Value In Another Column Then Group By

我對MySQL很陌生,過去兩天我一直在努力使其工作。 我不知道該標題是否與我要修復的內容有關,但如果不正確,請更正我。

這是交易:

我有4列... id,number,package_id和date。

ID -每遞增一個新的行插入時間
數字 -僅2位數字
package_id-包的ID
日期 -插入了日期和時間行

這是一個示例表的樣子:( 我從date省略了時間

id         number        package_id        date
---        ------        ----------        ----
1          12            20                08-01-2013
2          12            21                08-01-2013
3          12            20                08-01-2013
4          45            20                08-02-2013
5          45            22                08-02-2013
6          45            22                08-03-2013
7          12            20                08-03-2013
8          70            25                08-03-2013
9          70            26                08-03-2013
10         70            25                08-03-2013

我不僅在嘗試為數字和按日期分組選擇不同。 我還試圖確保對package_id列中的每個唯一值都執行此操作。

為了更好地解釋,這就是我希望在SELECT *時的輸出是什么樣的:

id         number        package_id        date
---        ------        ----------        ----
1          12            20                08-01-2013
2          12            21                08-01-2013
4          45            20                08-02-2013
5          45            22                08-02-2013
6          45            22                08-03-2013
7          12            20                08-03-2013
8          70            25                08-03-2013
9          70            26                08-03-2013

如您所見,由於同一天的數字和package_id相同,因此只有第3行和第10行未被選中。

我該怎么做?

這是你想要的:

SELECT MIN(id), number, package_id, date
FROM MyTable
GROUP by number, package_id, date

它肯定滿足您的預期結果集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM