作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果月份相同,我面临着在同一行中获得结果的问题。我在查询中使用 UNION ALL 。任何人都可以建议如何使用查询来根据我的要求获取结果。
我正在使用以下代码:
SELECT
SUM(amount) AS amount,
DATE_FORMAT(rcvdate,'%M %Y') as rcv,
NULL AS recovery
FROM `advertisercv`
GROUP BY DATE_FORMAT(rcvdate, '%M %Y')
UNION ALL
SELECT
NULL,
DATE_FORMAT(date,'%M %Y') AS rcv,
SUM(amount)
FROM `paymentsrec`
GROUP BY DATE_FORMAT(date, '%M %Y')
ORDER BY rcv
最佳答案
你有
SELECT
SUM(amount) as amount,
DATE_FORMAT(rcvdate,'%M %Y') as rcv,
null as recovery
FROM `advertisercv`
GROUP BY DATE_FORMAT(rcvdate, '%M %Y')
UNION all
SELECT
null,
DATE_FORMAT(date,'%M %Y') as rcv,
SUM(amount)
FROM `paymentsrec`
GROUP BY DATE_FORMAT(date, '%M %Y')
order by rcv
为了使其更易于使用,我强烈建议为每个子选择的列指定相同的名称:
SELECT
SUM(amount) as amount,
DATE_FORMAT(rcvdate,'%M %Y') as rcv,
null as recovery
FROM `advertisercv`
GROUP BY DATE_FORMAT(rcvdate, '%M %Y')
UNION all
SELECT
null as amount,
DATE_FORMAT(date,'%M %Y') as rcv,
SUM(amount) as recovery
FROM `paymentsrec`
GROUP BY DATE_FORMAT(date, '%M %Y')
order by rcv
现在您可以看到您将获得包含 amount、rcv、recovery 的多行。您希望这些行按 rcv 分组:
SELECT * FROM (
SELECT
SUM(amount) as amount,
DATE_FORMAT(rcvdate,'%M %Y') as rcv,
null as recovery
FROM `advertisercv`
GROUP BY DATE_FORMAT(rcvdate, '%M %Y')
UNION all
SELECT
null as amount,
DATE_FORMAT(date,'%M %Y') as rcv,
SUM(amount) as recovery
FROM `paymentsrec`
GROUP BY DATE_FORMAT(date, '%M %Y')
order by rcv
) GROUP BY rcv
但是,* 不是群运算符。当多行具有相同的 rcv 时我们该怎么办?你可以将它们相加。您可以获得最大值或最小值。从您表达问题的方式来看,您似乎想要合并 - 第一个非空值。
SELECT
rcv,
COALESCE(amount) as amount,
COALESCE(recover) as recovery
FROM (
SELECT
SUM(amount) as amount,
DATE_FORMAT(rcvdate,'%M %Y') as rcv,
null as recovery
FROM `advertisercv`
GROUP BY DATE_FORMAT(rcvdate, '%M %Y')
UNION all
SELECT
null as amount,
DATE_FORMAT(date,'%M %Y') as rcv,
SUM(amount) as recovery
FROM `paymentsrec`
GROUP BY DATE_FORMAT(date, '%M %Y')
order by rcv
) GROUP BY rcv
现在,您将获得每个 rcv 值一行,并且 amount 和 recovery 都将包含每个 rcv 值的第一个非空值。
关于如果月份相同,PHP 将得到相同行的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029312/
在我的 android 应用程序中,我想在同一行中实现 2 个文本字段。如果文本太长可以转到下一行。所以我使用了更精简的水平布局并添加了 2 个文本字段。 [例如:TextView1、TextV
由于node使用了javascript,它可以充当webrtc peer吗? 然后我可以将它编码为 VP8 流并广播给所有其他对等方吗? 最佳答案 WebRTC 是一个浏览器 API 而不是 Java
我是一名优秀的程序员,十分优秀!