首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL:每个组的最大n问题

MYSQL:每个组的最大n问题
EN

Stack Overflow用户
提问于 2014-10-08 20:05:15
回答 1查看 222关注 0票数 0

greatest-n-per-group的问题,我的MySQL版本不能使用LIMIT & IN (错误1235),所以我需要使用这种查询(请看这里的答案:answer )

代码语言:javascript
复制
SELECT
                t1.idMemberCard,
                DATE(MIN(transactions.dateTransaction)) AS first_transaction,
                DATE(MAX(transactions.dateTransaction)) AS last_transaction,
                t2.*
                FROM membersCard AS t1
                INNER JOIN transactions ON transactions.idMemberCard = t1.idMemberCard
                INNER JOIN
                (
                    SELECT
                        membersCard.idMemberCard,
                        membersCard.cardNumber,
                        membersCard.firstNameMemberCard,
                        membersCard.lastNameMemberCard,
                        transactions.dateTransaction
                    FROM membersCard
                    INNER JOIN transactions ON transactions.idMemberCard = membersCard.idMemberCard
                    WHERE membersCard.sexMemberCard = 'M'
                    AND membersCard.cardNumber = '1100101308655'
                    AND
                    DATE(transactions.dateTransaction) BETWEEN ('2013-12-28') AND ('2014-08-13')
                    LIMIT 100
                ) AS t2
                ON t1.idMemberCard = t2.idMemberCard

为精确匹配(卡号)而执行的子查询(t2表)恰好返回5行(在本例中):全部完美。

我的问题/请求:

将这两个表连接起来,我将获得5行,而不只是1行,不同的5行包含日期。

EN

回答 1

Stack Overflow用户

发布于 2014-10-08 20:12:08

您的join工作正常。问题出在你的select语句上:

代码语言:javascript
复制
 SELECT t1.idMemberCard,
        DATE(MIN(transactions.dateTransaction)) AS first_transaction,
        DATE(MAX(transactions.dateTransaction)) AS last_transaction,
        t2.*

使用MIN()MAX()将其转换为只返回一行的聚合查询。试试这个:

代码语言:javascript
复制
 SELECT t1.idMemberCard,
        DATE(transactions.dateTransaction) AS first_transaction,
        DATE(transactions.dateTransaction) AS last_transaction,
        t2.*

如果需要,也可以添加group by子句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26256484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档