【发布时间】:2023-03-21 02:37:01
【问题描述】:
我在将特定列归为一列时遇到问题。当我使用 GROUP BY 时,最后一行应该是第一行时总是被选中。
主要查询是:
SELECT cpme_id,
medicine_main_tbl.med_id,
Concat(med_name, ' (', med_dosage, ') ', med_type) AS Medicine,
med_purpose,
med_quantity,
med_expiredate
FROM medicine_main_tbl
JOIN medicine_inventory_tbl
ON medicine_main_tbl.med_id = medicine_inventory_tbl.med_id
WHERE Coalesce(med_quantity, 0) != 0
AND Abs(Datediff(med_expiredate, Now()))
ORDER BY med_expiredate;
如果我GROUP BY 使用任何重复的列值(在这种情况下,我使用了 med_id):
我正在尝试获取此输出
输出应该只是第一个查询的前两个。显然,我不能使用 LIMIT。
【问题讨论】:
-
你的预期输出是什么
-
预期输出应该是第一个查询中的前两行。
-
如果您的版本是“旧”,请参阅我添加的标签。
标签: mysql mariadb groupwise-maximum