我有两张table,用户和订单。
user表中的name和group都形成了一个唯一的组合,所以请注意,这里的条目中总共有5个唯一的组合。
对于每一个独特的组合,我想找到它们各自的最新状态,只关心活跃和不活跃。
然后,我将忽略活动状态,并以非活动状态输出查询。
(但目前,我只查询所有活动/非活动结果,因为我不想让事情变得更困难)
下面是我写的两个最接近的sql语句(错误)
这将返回所有与status:active/inactive
SELECT order.id, order.status, order.someA, order.someB, order.someC, order.date, user.name, user.group, user.site FROM order INNER JOIN user ON user.id = order.id WHERE (status = 'P' OR status = 'F');
对于每个唯一的组合,这只给出活动/非活动的第一个条目(应该是最后一个/最新的条目)
SELECT MAX(order.date), order.date, order.id, order.status, order.someA, order.someB, order.someC, user.name, user.group, user.site FROM order INNER JOIN user ON user.id = order.id WHERE site = 'US' AND (status = 'P' OR status = 'F') GROUP BY name, group ORDER BY date;
id名称组站点
k01美国德克萨斯州约翰
k02美国俄亥俄州尼尔市
k03美国俄亥俄州萨利
k04美国俄亥俄州西蒙
k05美国德克萨斯州詹姆斯
k06美国德克萨斯州詹姆斯
k07美国德克萨斯州约翰
id状态somea someb somec日期(时间戳)
k01活动我只是随机21-09-2018 19:22:33 pm
k02非活动放一些字2018年9月22日下午16:22:33
k03于2018年9月22日下午19:22:33在此激活
k04未知假人示例输出22-09-2018 19:22:33 pm
k05非活动x s v 2018年9月23日下午19:22:33
k06未知希望我解释2018年9月23日下午19:22:33
k07未知我的问题好2018年9月24日下午19:22:33
上面的数据是制表符分隔的,如果无法导入excel,请告诉我。
欢迎编辑我的句子,我可能没有完美的句子来描述我的问题。
1条答案
按热度按时间ccgok5k51#
如果您想要最近的订单,您可以: