Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按帐号显示MYSQL中每个注册的最新行_Mysql - Fatal编程技术网

按帐号显示MYSQL中每个注册的最新行

按帐号显示MYSQL中每个注册的最新行,mysql,Mysql,我需要使用下面的选择按钮生成一个条目列表。该列表必须是每个项目的最新条目。当我尝试使用GROUPBY时,它似乎仍然无法为每个字段获取最新条目。我尝试过使用MAX(ID)和MAX(CONDATE),但这似乎只是用最新数据填充了该字段,而其他字段不是来自同一行 如果我有多个条目具有相同的电子邮件、LDC_账户等,我如何生成列表以仅显示每个LDC_账户的多个条目中的最新条目 select ID, email, LDC_ACCT, LDC_KEY, FI

我需要使用下面的选择按钮生成一个条目列表。该列表必须是每个项目的最新条目。当我尝试使用GROUPBY时,它似乎仍然无法为每个字段获取最新条目。我尝试过使用MAX(ID)和MAX(CONDATE),但这似乎只是用最新数据填充了该字段,而其他字段不是来自同一行

如果我有多个条目具有相同的电子邮件、LDC_账户等,我如何生成列表以仅显示每个LDC_账户的多个条目中的最新条目

    select 
    ID,
    email,
    LDC_ACCT,
    LDC_KEY,
    FIRST_NAME,
    LAST_NAME,
    ServiceAddress1,
    ServiceAddress2,
    CITY,
    STATE,
    ZIP,
    date(ContractExpirationDate) AS 'ContractExpiration',
    date(CONTDATE) AS 'LatestEnrollmentDate',
    ldc_last4
    from elec_cust

首先获取LDC_账户每个不同值的最新ID值列表

       SELECT MAX(ID) ID, LDC_ACCT FROM table GROUP BY LDC_ACCT
然后从表中获取这些行

 SELECT * FROM table WHERE
     ID IN ( SELECT MAX(ID) ID, LDC_ACCT FROM table GROUP BY LDC_ACCT)

这假设ID值较高的行比ID值较低的行晚。

尝试此查询以获取LDC账户的最新信息。最新信息被视为具有最新CONTDATE的信息

SELECT * FROM
elec_cust a,
(
    SELECT LDC_ACCT, MAX(CONTDATE) AS MAX_CONT_DATE
    FROM elec_cust
    GROUP by LDC_ACCT
) b
WHERE 
    a.LDC_ACCT = b.LDC_ACCT 
    AND a.CONTDATE = b.MAX_CONT_DATE;

由于您的SELECT语句中似乎没有任何聚合函数(也不打算有聚合函数),因此这也适用于:

 SELECT
    t.ID,
    t.email,
    t.LDC_ACCT,
    t.LDC_KEY,
    t.FIRST_NAME,
    t.LAST_NAME,
    t.ServiceAddress1,
    t.ServiceAddress2,
    t.CITY,
    t.STATE,
    t.ZIP,
    date(t.ContractExpirationDate) AS 'ContractExpiration',
    date(t.CONTDATE) AS 'LatestEnrollmentDate',
    t.ldc_last4
    FROM (SELECT * FROM elec_cust ORDER BY ID DESC) t
    GROUP BY t.LDC_ACCT

谢谢奥雷林-问题:“t”在你的回答中指的是什么?谢谢-这让我达到了我需要的地方。