如何使用这段代码只能得到一个结果?我试着数一数我们能在桌子上找到每一个“双”的次数。db连接没有什么问题,它只得到重复的值。谢谢。
The output should be like
DOUBLE COUNT
01 02 10 (as example)
03 04 12 (as example)
I am getting duplicated like...
01 02 10 (as example)
01 02 10 (as example)
<?php
if ($check == 'doubles'){
sort($doubles);
foreach ($doubles as $double) {
explode(" ", $double);
$dn1 = $double[0].$double[1];
$dn2 = $double[2].$double[3];
if ($stmt = $post_con->prepare('SELECT DISTINCT FROM tb WHERE CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") AND CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")')) {
$stmt->bind_param("ss", $dn1, $dn2);
$dn1 = sprintf('%02d', $dn1);
$dn2 = sprintf('%02d', $dn2);
$stmt->execute();
$stmt->store_result();
$qty = $stmt->num_rows;
echo '<div class="mini">'.$dn1.'</div>';
echo '<div class="mini">'.$dn2.'</div>';
echo '<div class="n-sort">'.$qty.'</div>';
}
}
?>发布于 2016-04-11 21:43:00
若要计数重复项,请使用以下查询:
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) > 1https://stackoverflow.com/questions/36559645
复制相似问题