Mysql 为另一列中的每个值选择不同的列,然后按分组
我是mySQL的新手,在过去的两天里,我一直很难让它正常工作。我不知道标题是否与我试图修复的内容相关,但如果不正确,请纠正我 交易如下: 我有4个专栏。。。id、编号、包裹id和日期 id-每次插入新行时递增Mysql 为另一列中的每个值选择不同的列,然后按分组,mysql,sql,select,group-by,distinct,Mysql,Sql,Select,Group By,Distinct,我是mySQL的新手,在过去的两天里,我一直很难让它正常工作。我不知道标题是否与我试图修复的内容相关,但如果不正确,请纠正我 交易如下: 我有4个专栏。。。id、编号、包裹id和日期 id-每次插入新行时递增 数字-只有两位数字 包\u id-包的id 日期-插入了日期和时间行 下面是一个示例表的样子:(我从日期中省略了时间) 我不仅尝试为数字和分组日期选择distinct。我还试图确保它对package_id列中的每个唯一值都这样做 为了更好地解释,当我选择*时,我希望输出是这样的: id
数字-只有两位数字
包\u id-包的id
日期-插入了日期和时间行 下面是一个示例表的样子:(我从日期中省略了时间) 我不仅尝试为数字和分组日期选择distinct。我还试图确保它对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行没有被选中,因为同一天内相同的编号和包裹id在一起
我如何才能做到这一点?这就是您想要的:
SELECT MIN(id), number, package_id, date
FROM MyTable
GROUP by number, package_id, date
它当然满足了您的预期结果集。这就是您想要的:
SELECT MIN(id), number, package_id, date
FROM MyTable
GROUP by number, package_id, date
它当然满足了您的预期结果集。也许您应该在
WHERE
子句中添加一个额外的术语?也许您应该在WHERE
子句中添加一个额外的术语?效果非常好!谢谢你,太好了!谢谢