mysql从表中的两个不同列中选择两个DISTINCT值

时间:2017-05-06 22:27:45

标签: php mysql mysqli

我想显示国家和国旗图片。我已经将它存储在我的表中的两个名为Country和flag的列中" College"。

我试过这个

$sql = "SELECT `Country`, `flag` FROM `College` group by `Country`, `flag` ORDER BY `Country` ASC";

也试过这个。

$sql_COU = "SELECT (SELECT DISTINCT `Country` FROM `College`) as `Country`, (SELECT DISTINCT `flag` FROM `College`) as `flag`";

我也试过

$sql = "SELECT DISTINCT `Country`, `flag` FROM  `College`";

但我的结果是重复的。

2 个答案:

答案 0 :(得分:0)

这样做的好方法是创建一个“countries”表,其中包含每个表的名称和标志。

然后,您只需在学院表中创建country_id字段即可与适当的国家/地区相关联。

这样,您就不会遇到首先管理重复项的问题。

答案 1 :(得分:-1)

这是你想要的吗?

SELECT Country, ANY_VALUE(flag) FROM College GROUP BY Country

对于问题评论中给出的数据,这给出了:

Country   | flag
-------------------
USA       | USA.jpg
UK        | UK.jpg
Australia | AUS.jpg