我正在使用SELECT COUNT检查我的mysql表是否有任何重复项,如果有,我希望它删除副本。
以下是查询结果的截图: http://s.prelicio.us/lDyRV.png
现在我的桌子上有2个'Aanpassingen voor网站Chat-Garden'。这是正确的,所以我已经计算了'Aantal'的位置,这就是它会告诉我有多少行有'Aanpassingen voor网站Chat-Garden'。
但是现在我希望它删除屏幕截图中的重复行,因为“Aantal”已经显示了'2'。然后,我不需要截屏中的额外行。 (对不起我的英语不好)
这是当前代码:
<?php
$products = mysql_query('SELECT * FROM `preo_invoices-products`');
if(!$products || mysql_num_rows($products) == '0') echo '<li>Er zijn geen producten voor dit factuur.</li>';
else $i == '0'; while($product = mysql_fetch_object($products)) {
$color = ($i % 2 == 0) ? ' class="grey"' : ''; $i++;
$result = mysql_query('SELECT *, COUNT(`id`) FROM `preo_invoices-products` WHERE `invoiceid` = "'.$paid->id.'" GROUP BY `description`');
while($row = mysql_fetch_array($result)) {
?>
<li<?php echo $color; ?>>
<span class="inv9"><?php echo $row['COUNT(`id`)']; ?></span> // This one is the 'Aantal' where it shows 2
<span class="inv3">
<?php
$services = mysql_query('SELECT * FROM `preo_services` WHERE `id` = "'.$product->serviceid.'" LIMIT 1');
while($service = mysql_fetch_object($services)) echo strtoupper($service->name);
?>
</span>
<span class="inv14"><?php echo $product->description; ?></span>
<span class="inv9"><?php echo $product->tax; ?>%</span>
<span class="inv12">€<?php echo $product->sum; ?>,-</span>
<span class="inv15">€<?php echo $product->sum*$row['COUNT(`id`)']; } ?>,-</span>
</li>
<?php } ?>
现在实际上必须删除重复的行,因为'Aantal'显示我有一个重复的行。但是当我有3个相同的行时,它会在Aantal显示'3',并且仍然必须在我的屏幕截图中显示1行。
有什么想法吗?
答案 0 :(得分:7)
您可以在查询中添加DISTINCT
,例如
SELECT DISTINCT * FROM tableName