答案 0 :(得分:0)
对于supplier_name的最低invoice_price您可以使用聚合函数MIN和group by
wow64cpu!CpupSyscallStub+0x9
答案 1 :(得分:0)
将min聚合函数与group by子句一起使用
select supplier_name, min(invoice_price) from table_name group by supplier_name
与获得最高金额类似,使用最大聚合函数
select supplier_name, max(invoice_price) from table_name group by supplier_name
答案 2 :(得分:0)
如果您想要发票编号/日期等列,则需要编写2个查询,我通常更喜欢为此类任务编写tmp表。
DROP TEMPORARY TABLE IF EXISTS tmp_min_value;
CREATE TEMPORARY TABLE tmp_min_value AS
SELECT [key columns eg. supplier], min(invoice_price) as min_invoice_value
FROM supplier_invocies
GROUP BY [key columns eg. supplier];
SELECT is.*
FROM supplier_invoices si
INNER JOIN tmp_min_value tmv
ON si.supplier_name = tmv.supplier_name
AND si.invoice_price = tmv.min_invoice_value;
如果有多张发票具有相同的发票价格,则每个供应商可能会收到多张发票。如果您需要特定的(例如最后一个相关发票),或者只是通过对相关列进行分组并再次使用invoice_price上的MIN(),您可以通过使用其他联接来摆脱这种情况。
答案 3 :(得分:0)
答案很简单:
SELECT SUPPLIER_NAME, MIN(INVOICE_PRICE)
FROM SUPPLIER_INVOICES
GROUP BY SUPPLIER_NAME;