我需要像
这样的东西$query = SELECT COUNT(id) as user_in FROM <table_user> WHERE user= 11;
$query = SELECT COUNT(id) as total FROM <table_user> WHERE 1 ;
$percetage = $user_in / $total * 100;`
在一个查询中。
请帮忙
答案 0 :(得分:2)
SELECT
SUM(IF user=11,1,0)*100/COUNT(*) AS percentage
FROM table_user;
答案 1 :(得分:0)
这是一个很简单的
SELECT SUM(IF(user=11,1,0))/COUNT(id) AS percentageAsDecimal FROM <table_user>
只是一个警告,如果没有行,这将会出错,因为它将被除以0
答案 2 :(得分:0)
试
SELECT COUNT(id) / (SELECT COUNT(*) FROM table_user) * 100 AS PERCENTAGE
FROM table_user;
WHERE user= 11;
答案 3 :(得分:0)
为了坚持使用2个初始陈述的方法,您可以合并您的陈述(笛卡尔积)并进行计算。
SELECT your_calculation FROM select_statement1, select_statement2;
在您的示例中,这转换为
SELECT 100.0*user_in/total FROM
(SELECT COUNT(id) as user_in FROM <table_user> WHERE user= 11),
(SELECT COUNT(id) as total FROM <table_user> WHERE 1);
我刚用SQLite测试过,mySQL应该差不多了。在SQLite 100.0中,为了避免整数除法很重要!