我试图根据我在dbForge Studio中构建的查询显示一个图表,但它没有正确显示,因为我认为它只选择了一个数据轴。
查询显示的结果如下:
column1 column2 column3
data data data我想要正确地显示图表,我需要这样的格式:
Type Total
column1 data
column2 data
column3 data下面的查询如下。如何添加这样的虚拟列并对其进行重新排列?
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'发布于 2013-09-04 22:48:41
首先,如果您需要一个2列N行数据集,那么您的查询应该在"SELECT“之后有两个参数。如果您需要将向上SQLS的结果放入图表中,您应该使用UNION或UNION (更多信息请阅读http://dev.mysql.com/doc/refman/5.0/en/union.html )如下:
(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 )但据我所见,您可以使用以下方法获得类似的结果(有两个状态之一的应用程序(“已完成的,to_do")和所有应用程序的总和)。下面的代码假设表中每个应用程序状态只有一个条目):
(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)发布于 2013-09-04 22:45:10
SELECT SUM(T1.APP_STATUS = 'To_Do') FROM T1
UNION SELECT SUM(T1.APP_STATUS = 'Completed') FROM T1
UNION SELECT COUNT(*) FROM T1https://stackoverflow.com/questions/18624845
复制相似问题