sách gpt4 ai đã đi

Chọn giá trị MAX của một cột dựa trên hai cột khác trong đó một cột có giá trị MAX

In lại 作者:行者123 更新时间:2023-11-30 00:56:13 41 4
mua khóa gpt4 Nike

我有一个表数据如下,来自不同的表。仅当第三列具有值“债务”并且第一列(日期)具有最大值时,我才想从第四列中获取最大值。最终值基于 MAX(DATE) Còn hơn là MAX(PRICE)。所以用简单的语言来说,它是这样的

IF(MAX(DATE) && TYPE = 'debt'){
MAX(PRICE);
}

这是可用数据的 ImageView 。

nhập mô tả hình ảnh ở đây

我当前使用的查询如下

LỰA CHỌN
MAX(CASE WHEN PAYMENTS.PAYMENT = 'debt' AND RECEIPTS.DATENEW THEN PAYMENTS.TOTAL END) AS TAKENDEBT,
(CASE WHEN PAYMENTS.PAYMENT = 'debtpaid' THEN PAYMENTS.TOTAL END) AS GIVENDEBT,
MAX(CASE WHEN PAYMENTS.PAYMENT = 'debt' THEN RECEIPTS.DATENEW END) AS TAKENDATE,
MAX(CASE WHEN PAYMENTS.PAYMENT = 'debtpaid' THEN RECEIPTS.DATENEW END) AS GIVENDATE,
(MAX(CASE WHEN PAYMENTS.PAYMENT = 'debt' THEN PAYMENTS.TOTAL END) + SUM((CASE WHEN PAYMENTS.PAYMENT = 'debtpaid' THEN PAYMENTS.TOTAL END))) AS DUE,
CASE WHEN PAYMENTS.PAYMENT = 'debt' OR PAYMENTS.PAYMENT = 'debtpaid' THEN CUSTOMERS.NAME END AS CUSTOMER
FROM RECEIPTS
INNER JOIN TICKETS ON RECEIPTS.ID = TICKETS.ID
INNER JOIN PAYMENTS ON RECEIPTS.ID = PAYMENTS.RECEIPT
INNER JOIN CUSTOMERS ON TICKETS.CUSTOMER = CUSTOMERS.ID
WHERE
(PAYMENTS.PAYMENT = 'debt'
OR PAYMENTS.PAYMENT = 'debtpaid')
GROUP BY CUSTOMER
ORDER BY DUE DESC

这给了我如下所示的输出,带有红色圆圈,而我需要绿色圆圈中的值。这意味着它根据 MAX(PRICE) 获取值(value),而我需要根据 MAX(DATE) 然后 MAX(PRICE) 获取值(value),因为同一日期可以有多个值。

nhập mô tả hình ảnh ở đây

请不要让我将数据放入 Fiddle Thing 中,这是一个困惑的数据库,我设法进行了此查询,现在希望处于相同的结构中。谢谢

1 Câu trả lời

尝试类似的解决方案:

SELECT date, max(price) FROM yourTable 
WHERE payment='debt' AND date = ( SELECT max(date) From yourTable)
GROUP BY date

hoặc

SELECT date ,max(price) FROM yourTable
WHERE payment='debt'
GROUP BY date
ORDER BY date DESC
LIMIT 1

关于mysql - 根据其他两列选择一列的 MAX 值,其中一列具有 MAX 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20526216/

41 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com