在SQL查询中使用声明的“ AS”变量

乔姆里希

我有以下查询,该查询不起作用:

$sql = "SELECT dma, COUNT(*) as dma_count, round(dma_count/32434 * 100) as dma_percent FROM {$table} where dma != '0' GROUP BY dma ORDER BY dma_count DESC;";

(我知道)它不起作用的原因是因为我正在使用dma_count这一部分round(dma_count/32434 * 100)

正确的方法是什么?

编辑:

额外的挑战。而不是使用32434,我想使用一个变量。我得到这样的变量:

$get_total = "SELECT count(DISTINCT `exuid`) from {$table};";
$total = $dbh->query($get_total)->fetchAll(PDO::FETCH_ASSOC);

这样我的查询就变成了(注释中建议了修复程序)

$sql = "SELECT dma, COUNT(*) as dma_count, round(COUNT(*)/{$total} * 100) as dma_percent FROM {$table} where dma != '0' GROUP BY dma ORDER BY dma_count DESC;";

这不起作用,因为我认为$total格式错误。我怎样才能解决这个问题?

再次编辑:

知道了!$total只是我的行数,所以我有了它。

SELECT dma, COUNT(*) as dma_count, round(COUNT(*)/(SELECT COUNT(*) FROM {$table}) * 100,2) as dma_percent FROM {$table} where dma != '0' GROUP BY dma ORDER BY dma_count DESC;"
用户557846

您可以在方程式中使用COUNT(*)而不是别名,或最终回答子查询。通常,如果可以使用联接,请避免使用子查询。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

声明Oracle SQL中的变量以在查询中使用

来自分类Dev

我不能在 SQL 查询中使用变量 Msg 137 必须声明标量变量

来自分类Dev

在SQL查询中使用变量

来自分类Dev

在 SQL 查询中使用变量

来自分类Dev

pl sql也使用查询声明变量

来自分类Dev

在另一个 sql 查询中使用声明的变量

来自分类Dev

在SQL查询中使用php变量

来自分类Dev

在透视查询中使用变量的SQL Server

来自分类Dev

在Oracle Connection SQL查询中使用变量

来自分类Dev

在Postgresql中使用变量进行SQL查询

来自分类Dev

在SQL查询中使用全局变量

来自分类Dev

在 sql 查询中使用变量作为列名

来自分类Dev

在查询结果中使用sql变量

来自分类Dev

如何使用SQL查询的结果分配Postgres声明的变量的值

来自分类Dev

如何在查询(SQL Server)中使用SQL变量?

来自分类Dev

Qt:将SQL查询的结果保存在变量中,在SQL查询中使用C ++变量

来自分类Dev

在选择查询中使用变量

来自分类Dev

在选择查询中使用变量

来自分类Dev

PostgreSQL:在查询中使用变量

来自分类Dev

在php查询中使用变量

来自分类Dev

在SQL查询中使用变量会引发ADO错误

来自分类Dev

在基于FOR LOOP的SQL查询中使用PLSQL变量

来自分类Dev

如何在HEREDOC SQL查询中使用PHP变量?

来自分类Dev

如何在SQL查询中使用存储等号的变量

来自分类Dev

如何在SQL Server查询中使用C#变量?

来自分类Dev

如何在SQL查询中使用会话变量?

来自分类Dev

VBA - 在 SQL 查询中使用日期变量而不是 GETDATE()

来自分类Dev

在 SQL pdo 查询中使用变量作为表名

来自分类Dev

在函数中使用声明中的类型变量