如何获得最高投票的形象路径

时间:2013-10-06 15:24:06

标签: php mysql sql sql-server

我的表架构如下:

id  || image1   ||  image2  || image1vote  || image2vote || uid
1      abc.jpb      adc.jpg        50            40          12
2      bc.jpb       dc.jpg         20            70          13
3      kjc.jpb      ydc.jpg        20            10          10
4      pjc.jpb      mkc.jpg        80            60          10

我使用MySQL和phpMyAdmin作为我的后端。

从前端我上传了两张我在数据库中存储的图片。对于这两张图片,我分别保存了投票。 image1的投票存储在image1vote列中,而image2的投票则存储在image2vote列中。

我的问题如下:我想要投票最多的图像的图像路径。所以,如果image1的票数高于image2,我想要image1的值,反之亦然。

例如:在第一行中,我想要image1的值,因为image1vote中的值大于image2vote中的值。在第二行中,我想要image2的值。

2 个答案:

答案 0 :(得分:2)

我没有测试过,但如果我理解你的问题,那应该是这样的:

SELECT 
  IF(image1vote >= image2vote, image1, image2) AS path,
  GREATEST(image1vote, image2vote) as votes
FROM imagetable

答案 1 :(得分:1)

如果两张图片及其投票都在同一张表格中,您可以使用案例来退休

SELECT 
id  ,
(CASE WHEN image1vote > image2vote THEN image1   
WHEN image1vote < image2vote THEN image2
WHEN image1vote = image2vote THEN image1 
END ) AS `images`,
(CASE WHEN image1vote > image2vote THEN image1vote  
WHEN image1vote < image2vote THEN image2vote 
WHEN image1vote = image2vote THEN image1vote   
END ) AS `votes`
,uid
 FROM `table`