我有一个大约有1000万行的MySQL数据库和一个简单的SQL查询:
SELECT output FROM `table` WHERE MA > Price
Run Code Online (Sandbox Code Playgroud)
除了以上,我想得到:
我现有代码的问题(如下所示)是我多次查询表.这看起来非常低效.
是否可以查询数据库一次,然后萃取,如平均值,标准偏差,信息等.从结果?如果是这样,最有效的方法是什么?
SELECT STDDEV_POP(output) FROM `table` WHERE MA > Price
SELECT AVG(output) FROM `table` WHERE MA > Price
SELECT COUNT(output) FROM `table` WHERE MA > Price AND output > 0
SELECT COUNT(output) FROM `table` WHERE MA > Price AND output < 0
Run Code Online (Sandbox Code Playgroud)
***编辑除了平均值,标准偏差和正百分比之外,是否还可以获得实际的"输出"值?换句话说,还可以包含以下查询吗?
SELECT output FROM `table` WHERE MA > Price
Run Code Online (Sandbox Code Playgroud) 我正在尝试复制1个表选定列INTO第2个表选定列,使用此:
$sql = "SELECT (p.col1, p.col2)
INTO tblColors(b1,b2)
FROM tblPuppies as p
WHERE p.col3=1
";
Run Code Online (Sandbox Code Playgroud)
但它给了我错误:未定义的变量tblColors.对我来说很奇怪.任何猜测PLZ,哪里出错?先谢谢你.
我有一个表“用户”,其中每个用户都有一个包含值“1”或“2”或“3”的“状态”列;
现在,通过单个 mysqli 查询,我只想计算有多少 status = 1 的用户、有多少 status = 2 的用户以及有多少 status = 3 的用户
注意:查询必须仅计数,除了每个状态的数量之外,无需选择或输出任何数据。
我在这里发现了涵盖几乎相同主题的其他问题,但它们并不完全相同。
谢谢。
我有一个以这种格式存储的DateTime [2016-10-05 11:58:04].我想要做的是,将存储的时间显示为这种可读格式[Wed,11:58 AM].
我有下面的代码
public function is_logged_in()
{
if(isset($_SESSION['userSession']))
{
return true;
}
}
if($reg_user->is_logged_in()!="")//I don't understand this evaluation
{
$reg_user->redirect('home.php');
}
Run Code Online (Sandbox Code Playgroud)
根据我有限的理解,该函数is_logged_in()返回一个布尔值,我注释的行上的条件是检查返回的值是否不等于空字符串。这是正确的方法吗?如果有人可以解释发生了什么我会很高兴。我是初学者,所以如果我的问题有点愚蠢,请原谅我。
我正在尝试获得该平均值以给我2个小数,因此我得到的不是17.4534,而是17.45。我在使用AVG的2个地方分别使用CAST尝试了各种组合,但似乎什么也无法工作。
这是我目前的代码,用于给出平均值(只有太多的小数)。
<?php
$sql3 = "SELECT AVG(app_tests.test_resultPercent) FROM app_tests";
$result3 = mysqli_query($conn,$sql3) or die(mysqli_error());
while($row3 = mysqli_fetch_array($result3))
{
echo "<h3>".$row3['AVG(app_tests.test_resultPercent)'];
}
?>
</h3><p>Average % Lift</p>
Run Code Online (Sandbox Code Playgroud) 不可否认,自从我进入php世界以来已经有一段时间了,但我不确定为什么我在json_encode字符串的开头有3个空格.
" [{"id":"1","display_name":"Bob"}]"
Run Code Online (Sandbox Code Playgroud)
这是我有的PHP:
$stmt = $conn->prepare("SELECT * FROM users");
$queryResult = array();
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$queryResult[] = $row;
}
echo json_encode($queryResult);
}
Run Code Online (Sandbox Code Playgroud)
当我回声时,print_r($stmt->fetch(PDO::FETCH_ASSOC)) 我得到以下内容:
Array
(
[id] => 1
[display_name] => Twitch Dock John
)
Run Code Online (Sandbox Code Playgroud)
那里还有3个空间..我做错了什么(期待传入的脸部时刻)?
我最近问过这个问题,但它被标记为重复并被删除。请在标记之前先看看我的问题,因为它不一样,我正在努力弄清楚这一点。
我想将 MYSQLI 查询的“公司”和“区域”结果回显到我的页面中,位于 php 页面正文中的不同点。
仅显示第一个回声。请显示我的错误。
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/Connections/****";
include_once($path);
$dbhandle=mysqli_connect($hostname_Demo, $username_Demo, $password_Demo, $database_Demo);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql_RS1="SELECT * from CompanyName where area = 1";
$result=mysqli_query($dbhandle,$sql_RS1);
?>
<head>
<title>TEST</title>
</head>
<body>
<?php
while($row = mysqli_fetch_assoc($result))
{
echo $row['company'];
}
?>
<?php
while($row = mysqli_fetch_assoc($result))
{
echo $row['area'];
}
?>
<?php $dbhandle->close(); ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有一个问题,我不知道如何解决.我有这个问题:
$sql = "SELECT * FROM transfer_centre WHERE status = 'out' ORDER BY pris DESC";
pris我的数据库中有四个值:
0, 4, 8, 26
因此,正如查询所述,它们应该如下列出:
但不知何故,它将26的值视为2.6(我猜?),因此26在4和0之间?
有人可以帮我解决这个问题吗?
我的mysql有问题.它连接到数据库,但它不会创建表.这是我的代码示例:
$db = new mysqli('localhost', 'user.name', 'user.pass', 'db');
if ($db === FALSE) {
echo "ERRROR";
}
$sql = "CREATE TABLE IF NOT EXISTS db (
ID INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(20) NULL
)";
$db->query($sql);
if (mysqli_query($db, $sql)) {
echo "TABLE CREATED SUCCESSFULLY";
} else {
echo "TABLE CREATED UNSUCCESSFULLY";
}
Run Code Online (Sandbox Code Playgroud)
我感谢你的每一个答案,谢谢你的帮助!