Mysql:如何从数据库列中选择不同的值

时间:2010-08-05 09:51:34

标签: mysql distinct

我的目标是从“EmbedImgDimension”列中选择值,其中存在大量重复值。

我使用了以下查询

select
  distinct EmbedImgId,
  VideoID,
  EmbedImgHeight,
  EmbedImgWidth,
  EmbedImgFileName,
  concat(embedimgwidth,' x ',embedimgheight) as EmbedImgDimension
  from embedimages
  inner join Video on Video.schoolid=#Value#
  where embedimages.isdeleted=0 order by embedimages.embedimgwidth asc;
我应该在此查询中进行修改,以便从“EmbedImgDimension”列中选择唯一值。非常感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:3)

  select
  distinct concat(embedimgwidth,' x ',embedimgheight) as EmbedImgDimension
  from embedimages
  inner join Video on Video.schoolid=#Value#
  where embedimages.isdeleted=0 order by embedimages.embedimgwidth asc;

<强>更新

说你也想要不同的视频ID是一个逻辑问题。你想得到一个每个维度只出现一次的结果,对吧?那么,你怎么能期望得到所有不同的videoID结果呢?想象你有

videoid  dimension
      1        1x1
      2        1x1
      3        2x2
      4        2x2

也许你可以告诉我你想得到哪些结果。 但你要么得到1x1和2x2,要么得到1,2,3,4 - 你想要尺寸唯一性的那一刻,你也不能得到所有不同的视频,看看我的意思?

答案 1 :(得分:1)

使用distinct列上的EmbedImgDimension关键字。