我的表架构如下:
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
的值。
答案 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`