获取表中的所有记录
Posted
技术标签:
【中文标题】获取表中的所有记录【英文标题】: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? 【参考方案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
SQLFiddle Demo
【讨论】:
以上是关于获取表中的所有记录的主要内容,如果未能解决你的问题,请参考以下文章