Mysql SQL-不正确使用Union和Order BY
我得到了错误“不正确使用UNION和ORDER BY” 我使用这个查询作为工具,我需要它来工作 我知道有一个解决方案,可以在两个查询的开头和结尾使用Parathesis(),但我的工具不能使用它 这就是为什么我需要一个其他的查询解决方案,而不是使用()解决方案 还有其他解决办法吗 非常感谢您的帮助。。。从2天起就有这个问题了 干杯试试这个:Mysql SQL-不正确使用Union和Order BY,mysql,sql,Mysql,Sql,我得到了错误“不正确使用UNION和ORDER BY” 我使用这个查询作为工具,我需要它来工作 我知道有一个解决方案,可以在两个查询的开头和结尾使用Parathesis(),但我的工具不能使用它 这就是为什么我需要一个其他的查询解决方案,而不是使用()解决方案 还有其他解决办法吗 非常感谢您的帮助。。。从2天起就有这个问题了 干杯试试这个: SELECT Count(STATUS), STATUS, ROUND(Count(STATUS) * 100 / (SE
SELECT Count(STATUS),
STATUS,
ROUND(Count(STATUS) * 100 /
(SELECT Count(*)
FROM call_view
WHERE (create_month = Month(Now() - INTERVAL 1 MONTH))
AND (create_year = Year(Now() - INTERVAL 1 MONTH))
AND customer_company_name = "Company" ), 1) AS Percentage
FROM call_view
WHERE (create_month = Month(Now() - INTERVAL 1 MONTH))
AND (create_year = Year(Now() - INTERVAL 1 MONTH))
AND customer_company_name = "Company"
GROUP BY STATUS
ORDER BY COUNT(CALL_ID) DESC LIMIT 6
UNION
SELECT Sum(category_count),
'Other',
sum(percentage)
FROM
( SELECT Count(CATEGORY) AS category_count,
COUNT(CALL_ID),
CATEGORY,
ROUND(Count(CATEGORY) * 100 /
(SELECT Count(*)
FROM call_view
WHERE (create_month = Month(Now() - INTERVAL 1 MONTH))
AND (create_year = Year(Now() - INTERVAL 1 MONTH))
AND customer_company_name = "Company" ), 1)
AS Percentage FROM call_view
WHERE (create_month = Month(Now() - INTERVAL 1 MONTH))
AND (create_year = Year(Now() - INTERVAL 1 MONTH))
AND customer_company_name = "Company"
GROUP BY CATEGORY
ORDER BY COUNT(CALL_ID) DESC LIMIT 6,
1525125215) AS original_query
您是否试图根据完整的联合结果进行订购?(或者只是其中一个选择?)第一个查询检索调用最多的类别(位置1-6)。我希望它们按DESC排序。第二个查询检索别名“other”下的所有类别。所以我想按第一个查询排序,然后在结果末尾添加第二个查询非常感谢您的回复。我已经尝试过这个解决方案,它正在工作,但是parathesis()在两个查询的开始和结束时都会给另一个工具带来问题。这就是为什么我需要一个不带()的解决方案。括号在这里是必要的。是否有可能组合两个查询(如子查询)而不使用Union运算符?
(
SELECT Count(STATUS),
STATUS,
ROUND(Count(STATUS) * 100 / (SELECT Count(*)
FROM call_view
WHERE
( create_month = Month(Now() -
INTERVAL 1 month) )
AND ( create_year = Year(
Now() - INTERVAL 1 month) )
AND customer_company_name = "Company"
), 1) AS Percentage
FROM call_view
WHERE ( create_month = Month(Now() - INTERVAL 1 month) )
AND ( create_year = Year(Now() - INTERVAL 1 month) )
AND customer_company_name = "Company"
GROUP BY STATUS
ORDER BY COUNT(CALL_ID) DESC
limit 6
)
union
(
Select Sum(category_count), 'Other', sum(percentage)
from (
SELECT Count(CATEGORY) as category_count, COUNT(CALL_ID), CATEGORY,
ROUND(Count(CATEGORY) * 100 / (SELECT Count(*)
FROM call_view
WHERE
( create_month = Month(Now() -
INTERVAL 1 month) )
AND ( create_year = Year(
Now() - INTERVAL 1 month) )
AND customer_company_name ="Company"
), 1) AS Percentage
FROM call_view
WHERE ( create_month = Month(Now() - INTERVAL 1 month) )
AND ( create_year = Year(Now() - INTERVAL 1 month) )
AND customer_company_name = "Company"
GROUP BY CATEGORY
ORDER BY COUNT(CALL_ID) DESC
limit 6, 1525125215) as original_query
)