我必须得到每个查询的结果
第一次查询:
SELECT [xcv], COUNT( * ) AS Total
FROM [my_table]
GROUP BY [xcv]
第二个查询:
SELECT [xcv], COUNT( * ) AS Total
FROM [my_table]
WHERE=[result]='ok'
GROUP BY [xcv]
我想要做的是获得 - >的值[(first_query / second query)* 100]
我想在我的表格中找到每个[xcv]的结果......
任何想法我怎么做?
谢谢大家
答案 0 :(得分:1)
SELECT t1.[xcv],
(t1.total/t2.total)*100
FROM (SELECT [xcv],
COUNT( * ) AS Total
FROM [my_table]
GROUP BY
[xcv]
) t1 JOIN (
SELECT [xcv],
COUNT( * ) AS Total
FROM [my_table]
WHERE [result]='ok'
GROUP BY
[xcv]
) t2
ON t1.[xcv]=t2.[xcv]
我还从=
删除了WHERE=[result]='ok'
个符号 - 我认为您输了错误。
答案 1 :(得分:0)
一个查询:
SELECT [xcv],
(SUM(CASE
WHEN [result] = 'ok'
THEN 1
ELSE 0
END
)/COUNT( * )
) * 100
FROM [my_table]
GROUP BY [xcv]