如何在mysql中的union子句中对结果进行排序

艾哈迈德

我想获取所有记录,直到它获得 total 的值,但我想按日期排序 DESC 就像在这个查询中一样:

SELECT NULL AS donation_acc_name, NULL AS dopu_purpose, NULL AS dopu_second_purpose, NULL AS dopu_ref_id, NULL AS total FROM dual WHERE (@total := 0) 

UNION 
(SELECT donations.donation_acc_name, dopu_purpose, dopu_second_purpose, dopu_ref_id, @total := @total + dopu_remain_value AS total 
       FROM donation_purposes 
       LEFT JOIN donations ON donation_purposes.dopu_donation_id = donations.donation_id 
       WHERE @total < 5000 AND dopu_id IN (100,136) AND dopu_remain_value > 0 AND dopu_finished = 0 
    ORDER BY donation_purposes.dopu_date DESC)

但 order by 不起作用!!

你有什么解决办法吗?提前致谢 :)

去世

您必须使用别名为第一个查询定义一个附加列(作为 NULL),并将dopu_dateORDER BY 子句应用于UNION第二个查询的结果,而不仅仅是第二个查询:

SELECT donation_acc_name, dopu_purpose, dopu_second_purpose, dopu_ref_id, total
FROM (
    SELECT NULL AS dopu_date, NULL AS donation_acc_name, NULL AS dopu_purpose, NULL AS dopu_second_purpose, NULL AS dopu_ref_id, NULL AS total FROM dual WHERE (@total := 0) 
    UNION 
    SELECT donation_purposes.dopu_date, donations.donation_acc_name, dopu_purpose, dopu_second_purpose, dopu_ref_id, @total := @total + dopu_remain_value AS total 
    FROM donation_purposes 
    LEFT JOIN donations ON donation_purposes.dopu_donation_id = donations.donation_id 
    WHERE @total < 5000 AND dopu_id IN (100,136) AND dopu_remain_value > 0 AND dopu_finished = 0 
) t
ORDER BY dopu_date DESC 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

选择在查询中如何在where子句中排序

如何在 MySQLi 中使用 IN 子句绑定 UNION 中的结果?

如何在PHP中对结果进行排序?

Laravel MySQL如何排序结果与whereIn子句中的顺序相同

如果在 LEFT JOIN 和 WHERE 子句中找不到结果,如何在 MySQL 查询中返回 NULL 值

mySQL:如何在WHERE IN子句中删除

关于如何在MariaDB语句中替换UNION子句的思考

如何对mysql结果进行排序?

如何在MYSQL中对列进行排序

如何在Laravel QueryBuilder / MySQL Spatial软件包中按距离对查询结果进行排序?

如何在MySQL中按日期对相关结果进行分组和排序

如何在mysql中的select语句中过滤结果

如何在同一个流语句中对 Collectors.groupedBy 的结果进行排序?

[MySQL]如何在选择子句中对具有特定分组的行进行计数

MySQL如何在仅使用count的where子句中进行左连接计数?

如何在MySQL WHERE子句中进行相等比较?

如何在 IN 子句中使用填充函数的结果?

如何在Laravel中对结果进行分页和排序?

如何在mongodb中对查找结果进行排序

如何在 SQLAlchemy 中按降序对结果进行排序?

如何在sphinx / php中对结果进行排序?

如何在数据日志查询中对结果进行排序

如何在 Prolog 中对结果列表进行排序?

如何在Sequelize中对查询结果进行排序?

如何在 oracle 中的“IN”位置对结果数据进行排序

如何在SQL中的SUM子句中使用not in子句

如何在SQL Server 2014中的FOR XML子句中进行分组?

在以下查询中,如何在where子句中使用“ group”进行比较?

如何在TastyPie中的Where子句中进行左联接查询?