php - 这个查询的错误在哪里?

标签 php mysql

今天我通过多种不同的方式解决了这个问题,我还没有找到显示数据的最佳方法是使用可以在一个表中显示的单个查询。问题是我试图合并三个查询,但进展不太顺利。我觉得它很接近,但显然不正确。

$sql =  (SELECT SUM(datamb) AS value_sum FROM maindata GROUP BY phonenumber UNION select dataplan as currentplan from   maindata 

GROUP BY phonenumber UNION SELECT DISTINCT phonenumber AS value_sum1 FROM maindata);


$result = mysql_query($sql);



if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}



while ($row = mysql_fetch_assoc($result)){

echo "<TABLE id='display'>";
echo "<td><b>Data Usage This Period: ". ROUND ($row["value_sum"],2) . "MB</b></td> ";
echo "<td><b>Data Plan: ". $row["currentplan"] . "</b></td> "; 
echo "<td><b>Phone Number: ". $row["value_sum1"] . "</b></td> ";  
echo "</TABLE>"; 

}

问题是我想要三列数据,但只得到一列包含所有数据

最佳答案

UNION 向查询添加额外的行。看起来您只需要多列。看看这个查询是否能让你更接近;如果没有,请显示一些示例数据和预期结果:

SELECT
  phonenumber AS value_sum1
  dataplan AS currentplan,
  SUM(datamb) AS value_sum
FROM maindata
GROUP BY
  phonenumber,
  dataplan

此外,请考虑不要为 phonenumberdataplan 列设置别名 - 在这种情况下,别名只会造成困惑。您需要相应地更改 PHP 代码中的索引值。

关于php - 这个查询的错误在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19250737/

相关文章:

PHP 缓存 MySQL 结果的最佳方法?

php - 如何在android studio上使用webview获取json请求?

php - 管理网站用 SQL 保存的图像的最佳方法是什么?

php - MySQL转义字符串问题

mysql联合/混合两个表

php - Sql 查询在 sql Workbench 中按预期工作,但添加到 php 文件时加载时间极长

php - 使用 PHP 在 mysql 数据库中插入记录时验证对文件(已存在/类型)不起作用

java - 从 PHP 脚本返回到 java 程序的字符串无法正常工作

MySQL 'Update Timestamp' 列 - 触发器

mysql - Doctrine 数据导入 - 进行后备的常用方法?