[英]PHP MySQL Counting and sorting values
我是新来的。 如果我在错误的地方提出问题或在先前的搜索中忽略某些内容而破坏了某种协议,我深表歉意。
我有一张标题为Art2011的桌子。
我正在三列中收集数据,并希望合并和计数类似的值。
painting1 painting2 painting3
-----------------------------------------
image6 image4 image3
image4 image1 image4
image8 image1 image3
image2 image9 image6
image6 image4 image3
image4 image1 image4
image8 image1 image3
image2 image9 image6
我将如何查询,计算和显示php中的结果,如下所示?
image1 = 4
image2 = 2
image3 = 4
image4 = 5
etc...
先感谢您! 麦可
尝试
SELECT t.image, COUNT(t.image)
FROM (
SELECT painting1 as image FROM Art2011
UNION ALL
SELECT painting2 as image FROM Art2011
UNION ALL
SELECT painting3 as image FROM Art2011
) AS t
GROUP BY t.image
对于每个图像,您可以使用此查询来获取计数:
select count(1) from Art2011 where painting1 = 'image1' or painting2 = 'image1' or painting3 = 'image1'
添加到@ain的帖子:
$sql = "SELECT t.image as image, COUNT(t.image) as cnt FROM ( SELECT painting1 as image FROM Art2011 UNION ALL SELECT painting2 as image FROM Art2011 UNION ALL SELECT painting3 as image FROM Art2011 ) AS t GROUP BY t.image";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
echo $row['image']." = ".$row['cnt']."\n";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.