gpt4 book ai didi

mysql - 将 2 个排序查询与 union 结合起来

转载 作者:行者123 更新时间:2023-11-29 06:40:34 27 4
gpt4 key购买 nike

我正在使用 union 合并 2 个查询。当我在上面添加 ORDER 时出现了一些问题。

这是当前存在的查询

SELECT * 
FROM (
SELECT *
FROM (
SELECT nama_barang
FROM transaksi_jual

WHERE kategori_barang.`id_kategori`= "3"
AND id_kampus = "1"
AND ( nama_barang LIKE "%galaxy%"
AND nama_barang LIKE "%young%" )
) A ORDER BY date DESC
UNION
SELECT *
FROM (
SELECT A
FROM nama_barang

WHERE kategori_barang.`id_kategori`= "3"
AND id_kampus = "1"
AND ( nama_barang LIKE "%galaxy%"
OR nama_barang LIKE "%young%"

)
) B ORDER BY tanggal DESC
) drived LIMIT 0,12

我的查询有什么问题?没有其他方法可以将 2 个排序查询合并为 1 个吗?如何将 2 个排序查询合并为 1 个?

谢谢,感谢您的帮助。为我的语法错误感到抱歉。

最佳答案

你在 UNION 之后 ORDER,比如:

SELECT * FROM table1

UNION

SELECT * FROM table2

ORDER BY id

这个 ORDER BY 对 table1 和 table2 的整个结果进行排序

如果您首先想要第一个子集的记录,请尝试:

SELECT *, 1 AS order FROM table1

UNION

SELECT *, 2 AS order FROM table2

ORDER BY order, id

注意:UNIONUNION ALL 执行起来要重很多,确保在使用 UNION 时需要删除双记录

关于mysql - 将 2 个排序查询与 union 结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21812312/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com