我是mySQL的新手,在过去的两天里我很难尝试让它工作。我不知道标题是否与我想要解决的问题有关,但如果不是,请纠正我。
这是交易:
我有4列... id,number,package_id和date。
id - 每次插入新行时都会增加 数字 - 只需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列中的每个唯一值执行此操作。
为了更好地解释,这就是我希望输出在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行未被选中。
我该如何做到这一点?
答案 0 :(得分:1)
这就是你要找的东西:
SELECT MIN(id), number, package_id, date
FROM MyTable
GROUP by number, package_id, date
它当然满足您的预期结果集。