MySQL重排查询结构
我试图根据我在dbForge Studio中构建的查询显示一个图表,但它没有正确地绘制图表,因为我认为它只选择了一个数据轴 查询显示的结果如下所示:MySQL重排查询结构,mysql,Mysql,我试图根据我在dbForge Studio中构建的查询显示一个图表,但它没有正确地绘制图表,因为我认为它只选择了一个数据轴 查询显示的结果如下所示: column1 column2 column3 data data data 我想要正确显示图表,我需要它的格式如下: Type Total column1 data column2 data column3 data (SELECT 'Type', 'Total' FROM DUAL) UNI
column1 column2 column3
data data data
我想要正确显示图表,我需要它的格式如下:
Type Total
column1 data
column2 data
column3 data
(SELECT 'Type', 'Total' FROM DUAL)
UNION [ALL]
(SELECT 'column1', COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'To_Do' )
UNION [ALL]
(SELECT 'column2', COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'Completed' )
UNION [ALL]
(SELECT 'column3', COUNT(T1.APP_UID)
FROM TABLE1 T1 )
下面是查询。如何添加这样的虚拟列并重新排列
SELECT
(SELECT COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'To_Do' ) AS 'Column1' ,
(SELECT COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'Completed' ) AS 'Column2' ,
(SELECT COUNT(T1.APP_UID)
FROM TABLE1 T1 ) AS 'Column3'
首先,如果需要一组2列N行的数据,那么查询在SELECT之后应该有两个参数。如果您需要将向上SQL的结果放入图表中,您应该使用UNION或UNION ALL read获取更多信息,如:
Type Total
column1 data
column2 data
column3 data
(SELECT 'Type', 'Total' FROM DUAL)
UNION [ALL]
(SELECT 'column1', COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'To_Do' )
UNION [ALL]
(SELECT 'column2', COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'Completed' )
UNION [ALL]
(SELECT 'column3', COUNT(T1.APP_UID)
FROM TABLE1 T1 )
但从我看到的情况来看,你可以使用下面的方法来获得类似的结果,即具有两种状态之一的应用程序的计数、待办事项和所有应用程序的总和。下面的代码假设表中每个应用程序状态只有一个条目:
(SELECT T1.APP_STATUS, COUNT(*) FROM TABLE1 T1 WHERE (T1.APP_STATUS = 'To_Do' OR T1.APP_STATUS = 'Completed') GROUP BY T1.APP_STATUS)
UNION ALL
(SELECT 'Altogether', COUNT(T1.APP_UID)
FROM TABLE1 T1)
首先,如果需要一组2列N行的数据,那么查询在SELECT之后应该有两个参数。如果您需要将向上SQL的结果放入图表中,您应该使用UNION或UNION ALL read获取更多信息,如:
Type Total
column1 data
column2 data
column3 data
(SELECT 'Type', 'Total' FROM DUAL)
UNION [ALL]
(SELECT 'column1', COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'To_Do' )
UNION [ALL]
(SELECT 'column2', COUNT(T1.APP_UID)
FROM TABLE1 T1
WHERE T1.APP_STATUS = 'Completed' )
UNION [ALL]
(SELECT 'column3', COUNT(T1.APP_UID)
FROM TABLE1 T1 )
但从我看到的情况来看,你可以使用下面的方法来获得类似的结果,即具有两种状态之一的应用程序的计数、待办事项和所有应用程序的总和。下面的代码假设表中每个应用程序状态只有一个条目:
(SELECT T1.APP_STATUS, COUNT(*) FROM TABLE1 T1 WHERE (T1.APP_STATUS = 'To_Do' OR T1.APP_STATUS = 'Completed') GROUP BY T1.APP_STATUS)
UNION ALL
(SELECT 'Altogether', COUNT(T1.APP_UID)
FROM TABLE1 T1)
我确实做了一些修改,因为我不喜欢其中一个状态的措辞,所以我改为:选择“路由”作为“类型”,将T1.APP_UID作为“总计”从表1 T1中计算出来,其中T1.APP_STATUS='Completed'GROUP BY T1.APP_STATUS我确实对其进行了一些修改,因为我不喜欢其中一种状态的措辞,所以我改为:选择'Routed'作为'Type',将T1.APP\u UID从表1 T1中计数为“总计”,其中T1.APP\u状态=按T1.APP\u状态“完成”分组