在PHP中结合MySQL查询

时间:2011-08-25 18:56:10

标签: mysql

我有以下MySQL查询:

查询#1:

SELECT imgURL, imgTitle, FROM images

查询#2:

SELECT DISTINCT imgFamily FROM images

查询#3:

SELECT DISTINCT imgClass FROM images

我想知道是否可以将它们组合成一个查询?换句话说,SELECT imgURL, imgTitle, DISTINCT imgFamily, and DISTINCT imgClass

当我尝试按上述方式(没有and)时,它失败了。有什么建议吗?


我得到的结果如下:MySql ErrorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DISTINCT imgFamily FROM images

我期望的结果是没有错误,并且返回了行。

3 个答案:

答案 0 :(得分:1)

MySQL中的distinct关键字是distinctrow的同义词 - 例如。如果你想要'选择不同'。您将只获得结果中尚未出现字段组合的行。通过选择非独特字段,您将无法获得任何明显的结果。这必须作为单独的查询来完成。

答案 1 :(得分:1)

您可以将它们与UNION关键字结合使用:

SELECT imgURL, imgTitle, FROM images
UNION
SELECT DISTINCT imgFamily, NULL FROM images
UNION
SELECT DISTINCT imgClass, NULL FROM images

但这是一个非常糟糕的主意。后续查询中的所有列必须与所有后续查询中的列具有相同的类型,否则某些数据可能会被截断。

通常,您不应将不相关的查询组合在一起。

答案 2 :(得分:1)

SELECT distinct imgURL, imgTitle, imgFamily, imgClass 
FROM images 

以上将为您提供独特的行。

SELECT imgURL, imgTitle, imgFamily, imgClass 
FROM images 

这个将为您提供所有数据。

很难弄清楚你想要做什么。

相关问题