php - 如何将 MySQL 定义的名称导入 php?

标签 php mysql

如果我有一个像这样的mysql查询

(SELECT COUNT(*) FROM data AS amount)
UNION
(SELECT COUNT(*) FROM data WHERE some < 50 AS something)

然后像这样用 php 创建一个数组 $row = mysqli_fetch_array($sql, MYSQLI_ASSOC);

我现在如何解决每个 AS 名称。这不起作用:echo $row["amount"];。我的第二个问题是为什么在有 WHERE 子句时我不能使用 AS something

最佳答案

试试这个:

(
  SELECT 
    'amount1' as za_name, 
    COUNT(*) as za_count 
  FROM 
    data
) 
UNION 
(
  SELECT 
    'amount2' as za_name, 
    COUNT(*) as za_count 
  FROM 
    data 
  WHERE some < 50 
)

然后可以通过$row[za_name]进行区分,得到金额$row[za_count]

对于第二个问题:如果你做一个临时表就可以使用它:

SELECT
  tmp.za_name,
  tmp.za_count
FROM (
  SELECT 
    'amount2' as za_name, 
    COUNT(*) as za_count 
  FROM 
    data 
  WHERE some < 50 
) as tmp

关于php - 如何将 MySQL 定义的名称导入 php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16195524/

相关文章:

mysql - 如何使用 SQL 中上一行的值

php - SQL 问题 - 多个 MySQL 表中的相同字段名称?

javascript - 基于文本 jquery php 更改按钮

php - 如果临时密码与数据库中的密码匹配,则更新新密码

php - PHP 和 Node.js 的云计算服务

PHP mysqli 测试运行

php - 无法修改 header 信息 - header 已发送

mysql - 使用 max(column) 获取行

php - 显示 $_post 的结果出错,给出空

php - 使用在 php 和 mysql 中选择的下拉菜单更改文本框值