MySQL 即时加入条件

标签 mysql

我需要知道,我该如何即时执行此操作,

例如,我有处于不同到期日期状态的客户,我想在左连接上选择 MAX(最近的到期日期),当前当它连接两个表时,它会选择最旧的到期日期,这不是我想要的。

SELECT c.customerid, i.datedue
                        FROM  customers c
                               LEFT JOIN invoice i 
                                 ON i.customerid = c.customerid
                        WHERE  i.datedue <= UNIX_TIMESTAMP()
                               AND c.status!='d'
                        GROUP  BY i.customerid
                        ORDER BY i.datedue DESC
                        LIMIT  0, 1000

最佳答案

您需要使用 max() 函数:

SELECT c.customerid, MAX(i.datedue)
FROM customers c LEFT JOIN invoice i ON i.customerid = c.customerid
WHERE i.datedue <= UNIX_TIMESTAMP() and c.status!='d'
GROUP BY i.customerid
ORDER BY i.datedue DESC
LIMIT 0,1000

这将为您提供每个客户的最长到期日期。

关于MySQL 即时加入条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291763/

相关文章:

php - 获取MYSQL中重复条目的最新数据

python - 在 Mac Snow Leopard 上安装 MySQL-python-1.2.3c1 时出现问题

mysql - 在不使用类型的情况下删除 SQL 查询中的查询

mysql - 在 MySQL 中使用 left Join 进行最佳拟合数据重试

MySQL 选择与查询不一样的所有行

mysql - WordPress 多数据库

mysql - ThinkingSphinx group_by 导致搜索缓慢

php - mysql报告连接表和数据库结构问题

mysql - SQL 分隔大字段以加快查询速度

mysql - 如何获得在 mysql 中没有 child 的最终类别?