如何使用此代码只获得1个结果?我想知道我们可以在表格中找到每个“双”的次数。数据库连接没有任何问题,它只会得到重复的值。谢谢。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="author" content="Spino Tutorials" />
<title>Task Tracker</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body onload="load()">
<div class="background_panel">
<div class="main_header">
<h1>Task Tracker</h1>
<span>v2.0</span>
</div>
<div style="vertical-align:top">
<div class="form_panel">
<h3>Create a Task</h3>
<form id="sfrm">
Task Name<br>
<input type="text" name="task" ><br><br>
Date<br>
<input type="date" name="date"><br><br>
Assigned To<br>
<input type="text" name="assigned" ><br><br>
<input type="submit" id="target" value="Submit">
</form>
</div>
<div class="data_panel">
<h3>Exsisting Tasks</h3>
<table id="stage" style="table-layout: fixed; max-height: 350px;"></table>
</div>
</div>
<div class="clear">
</div>
</div>
</body>
<script src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/functions.js"></script>
</html>
答案 0 :(得分:0)
要计算重复项,请尝试使用此查询:
SELECT count(1) FROM (
SELECT res, Count(1)
FROM tb
WHERE CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") --I don't know did you need this conditions...
AND CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")
GROUP BY res
HAVING Count(1) > 1)
编辑:
如果您尝试列出重复项,那么:
SELECT res, Count(1)
FROM tb
WHERE CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") --I don't know did you need this conditions...
AND CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")
GROUP BY res
HAVING Count(1) > 1
答案 1 :(得分:0)
使用distinct
将返回整个表中的所有不同行,但如果有多个唯一行,则将返回每一行。
您想要的是使用像COUNT(*)
这样的聚合函数来计算符合条件的行数。
SELECT
COUNT(*)
FROM tb
WHERE
CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") AND
CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")
这将返回与WHERE条件匹配的行数。
如果要查找表中每个double值的次数,可以按double值分组并计算每个组。例如:
SELECT
res,
COUNT(*)
FROM tb
GROUP BY
res
我很难回答这个问题,因为我不确定你的桌子中有哪些字段,res是什么,以及你感兴趣的双重价值在哪里发挥作用。
答案 2 :(得分:0)
很难准确匹配您的问题,因为我们不知道您的表格结构(特别是res
字段内容),但我肯定认为这有问题代码的一部分:
explode(" ", $double);
$dn1 = $double[0].$double[1];
$dn2 = $double[2].$double[3];
当$double
假设01 02
的值时,您会在['01','02']
中将其展开,但您不会捕获爆炸数组。
然后,您使用的语法与爆炸数组和原始字符串都不兼容。连接后,您有以下结果:
$double = '01 02';
# index > 01234
$dn1 = '01';
$dn2 = ' 0';
以这种方式替换原始代码:
$exploded = explode(" ", $double);
$dn1 = $exploded[0];
$dn2 = $exploded[1];
或者以这种方式:
explode(" ", $double);
$dn1 = $double[0].$double[1];
$dn2 = $double[3].$double[4];