【问题标题】:Distinct Values from MySQLi QueryMySQLi 查询中的不同值
【发布时间】:2016-01-15 21:39:07
【问题描述】:

我试图只显示我正在运行的查询的唯一用户 ID(用户 ID 是(0、1、2、3、4、5、6、7、8、9 等)。我尝试使用 DISTINCT在我的查询中,但它只显示具有 2 个或更多相同 userId 的行的唯一值。

有没有办法可以使用 php 只显示唯一值。我的弱点是数组,因为它使用来自 MySQLi 查询的数据,所以它使它变得更加复杂。

现在我有一个查询示例(假设它的 GROUP BYrentPaid DESC 并且所有用户的租金总额为 800.00):

  userID  rentPaid  rentMonth
  2--------800.00------April  
  1--------500.00------April  
  3--------400.00------April  
  3--------400.00------April  
  1--------200.00------April  
  1--------100.00------April  

所需输出示例:

  userID  rentPaid  rentMonth 
  2--------800.00------April  
  1--------500.00------April  
  3--------400.00------April  

我可以用 MYSQL 做到这一点,因为我尝试了 DISTINCT,但它不起作用,PHP 怎么样?

查询:

        SELECT      
            properties.*,
            leases.*,
            users.userId, users.primaryPhone,
            CONCAT(users.userFirstName,' ',users.userLastName) AS user,
            admins.adminName, payments.*
        FROM
            properties
            LEFT JOIN leases ON properties.propertyId = leases.propertyId
            LEFT JOIN assigned ON properties.propertyId = assigned.propertyId
            LEFT JOIN admins ON assigned.adminId = admins.adminId
            LEFT JOIN users ON properties.propertyId = users.propertyId
            LEFT JOIN payments ON properties.propertyId = payments.propertyId
        WHERE
            payments.rentMonth = '$currentMonth' AND
            payments.rentYear = '$currentYear'

编辑:请原谅我的格式,这是我的第一篇文章。

编辑:添加了查询....它很长,但有效,哈哈。我只想要 unique 用户 ID(没有双用户 ID 或三用户用户 ID 等...)

【问题讨论】:

  • 做个小伙子,将查询粘贴到您的问题中。
  • 如果用户标识多于一行,应该显示哪一行?
  • DISTINCT 适用于选定的整行。因此,如果用户有不同的 rentPaid 值,它将显示它们中的每一个,因为它们并不不同。
  • 您选择的不仅仅是用户 ID 列吗?请提供实际查询的示例。
  • 添加了查询...它很长。

标签: php mysql mysqli


【解决方案1】:

我怀疑这是你想要的:

SELECT userID, MAX(rentPaid) AS maxRentPaid, rentMonth
FROM yourTable
WHERE rentMonth = "April"
GROUP BY userID
ORDER BY maxRentPaid

【讨论】:

  • WOW 起初它只返回一行,但后来我添加了 'GROUP BY' 和 'ORDER BY' 然后它只返回行唯一行。非常尊重,非常感谢@Barmar
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 1970-01-01
相关资源
最近更新 更多