我的表中的某些字段(url、海报、页面)为空(因为该值是稍后添加的)。当使用以下查询选择所有内容时,这些字段(url、海报、页面)将为空,而其余值是正确的(总和)。对于所有具有相同 media_id 的值(url、海报、页面),该值都是相同的。
如何在查询中获得不为空的这些值(如果它们设置在至少 1 行中)? 请注意,我在这里不需要 WHERE IS NOT NULL。
查询:
"SELECT media_id, title, poster, url, page, SUM(c_play) AS total_play, SUM(c_time) AS total_time, SUM(c_download) AS total_download FROM {$statistics_table} GROUP BY media_id, title ORDER BY $order $dir"
这只是一个结果示例:
"media_id": "41",
"title": "Beach sunset",
"poster": null,
"url": null,
"page": null,
"total_play": "5",
"total_time": "42",
"total_download": "2",
我建议使用MAX功能:
SELECT
media_id,
title,
MAX(poster) AS poster,
MAX(url) AS url,
MAX(page) AS page,
SUM(c_play) AS total_play,
SUM(c_time) AS total_time,
SUM(c_download) AS total_download
FROM
{$statistics_table}
GROUP BY
media_id,
title
ORDER BY
$order $dir