SQL SELECT 语句中的算术运算
Arithmetic operation in SQL SELECT statement
这是我试过的 sql 查询。
function getall() {
$connection = new Connection;
$connection->open();
$query = "SELECT position.id,position.name_position,position.g_position,position.cs,position.totalbefore,
COUNT(position2.staff_id) AS cnt_staff,
totalbefore-cnt_staff AS totalafter
FROM position
INNER JOIN position2 ON position.id = position2.id_position2
WHERE position.status_data= '1'
GROUP BY position2.id_position2";
$result = mysql_query($query);
return $result;
}
此代码 return 语法错误。 Idk 在 statement.can 中将算术运算(totalbefore-cnt_staff AS totalafter)放在哪里有人帮助我
使用
position.totalbefore - COUNT(position2.staff_id) AS totalafter
您需要重新计算值
由于查询中有 group by 子句,因此必须在算术表达式中使用聚合函数,例如
sum(totalbefore-cnt_staff) as totalafter
totalbefore 列也是如此。
无论如何,尝试将查询放在任何查询编辑器中,例如(SQL 查询编辑器),错误消息对您来说会更清楚。
这是我试过的 sql 查询。
function getall() {
$connection = new Connection;
$connection->open();
$query = "SELECT position.id,position.name_position,position.g_position,position.cs,position.totalbefore,
COUNT(position2.staff_id) AS cnt_staff,
totalbefore-cnt_staff AS totalafter
FROM position
INNER JOIN position2 ON position.id = position2.id_position2
WHERE position.status_data= '1'
GROUP BY position2.id_position2";
$result = mysql_query($query);
return $result;
}
此代码 return 语法错误。 Idk 在 statement.can 中将算术运算(totalbefore-cnt_staff AS totalafter)放在哪里有人帮助我
使用
position.totalbefore - COUNT(position2.staff_id) AS totalafter
您需要重新计算值
由于查询中有 group by 子句,因此必须在算术表达式中使用聚合函数,例如
sum(totalbefore-cnt_staff) as totalafter
totalbefore 列也是如此。
无论如何,尝试将查询放在任何查询编辑器中,例如(SQL 查询编辑器),错误消息对您来说会更清楚。