我有以下MySQL查询:
查询#1:
SELECT imgURL, imgTitle, FROM images查询#2:
SELECT DISTINCT imgFamily FROM images查询#3:
SELECT DISTINCT imgClass FROM images我想知道是否可以将它们合并到one查询中?换句话说,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
我期望的结果是没有错误,并返回行。
发布于 2011-08-25 19:03:23
distinct关键字在MySQL中是distinctrow -例如的同义词。如果你想要一个‘选择不同’。您将只得到结果中尚未出现字段组合的行。通过选择非不同的字段,您将不会得到任何不同的结果。这必须作为单独的查询来完成。
发布于 2011-08-25 19:05:31
您可以将它们与UNION关键字组合起来:
SELECT imgURL, imgTitle, FROM images
UNION
SELECT DISTINCT imgFamily, NULL FROM images
UNION
SELECT DISTINCT imgClass, NULL FROM images但这确实是个坏主意。后续查询中的所有列必须具有与所有后续查询中的列相同的类型,否则某些数据可能会被截断。
通常,不应该合并不相关的查询。
发布于 2011-08-25 19:06:27
SELECT distinct imgURL, imgTitle, imgFamily, imgClass
FROM images 以上将给您独特的行。
SELECT imgURL, imgTitle, imgFamily, imgClass
FROM images 这个会给你所有的数据。
很难弄清楚你想做什么。
https://stackoverflow.com/questions/7195712
复制相似问题