1

我对 mySQL 很陌生,在过去的 2 天里我很难让它工作。我不知道标题是否与我要修复的内容有关,但如果不是,请纠正我。

这是交易:

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

id - 每次插入新行时递增
number - 只是一个 2 位数字
package_id - 包
日期ID - 插入日期和时间行

这是一个示例表的样子:(我省略了日期中的时间

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 列中的每个唯一值都执行此操作。

为了更好地解释,这就是我在选择 * 时希望输出的样子:

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

如您所见,只有第 3 行和第 10 行没有被选中,因为同一天内的数字和 package_id 相同。

我怎样才能做到这一点?

4

1 回答 1

1

这是你想要的:

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

它肯定满足您的预期结果集。

于 2013-08-09T17:41:46.063 回答