我在将特定列分组为一个时遇到问题。当我使用 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。