【问题标题】:getting all the records in the table获取表中的所有记录
【发布时间】:2013-03-01 00:29:30
【问题描述】:

我想检索所有“金额”大于等于1500的记录。问题是即使“金额”小于1500也会显示在页面中。

customers table
id   name
1    sample
2    sample2
3    sample3


payments table

p_id  amount  id(foreign key)
1      800     2
2      800     2
3      1500    1
4      1200    3

应该检索客户 1 和 2,因为金额>= 1500。

谢谢你, 米克:)

【问题讨论】:

  • 问题是什么?
  • 返回金额 >= 1500 的所有客户
  • @Mick Austre - 每笔单独付款 >= 1500 或客户总计 >= 1500?

标签: php mysql sql phpmyadmin


【解决方案1】:

这需要加入表格。使用GROUP BY 是因为其中一列正在使用SUM() 进行聚合,而HAVING 子句用于过滤聚合结果。

SELECT  a.ID, a.name
FROM    customers a
        INNER JOIN payments b
            ON a.ID = b.id
GROUP   BY a.ID, a.name
HAVING  SUM(b.amount) >= 1500

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2012-10-24
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    相关资源
    最近更新 更多