重复的表,甚至在重复的单词之间变化的单词的值。查找单词只具有特定价值

时间:2011-10-19 07:49:22

标签: mysql duplicates

我在Mysql中有一个表。有文字和价值观。值为布尔值,如“1”或“0”。单词可以重复多次。它们的价值各不相同。例如,一个“def”可以是“0”而另一个是“1”。我想要找到的是:

  • 值只有零值。如果这个词不止一次,只需要一个字。
  • 但是,“def”的值为'0'。也是'1'值。它必须只是'0'值!

表格如下:

word value
----  -----
abc    1
abc    1
def    0
def    1
def    0
xyz    0
xyz    0
xyz    0
xxx    1
zzz    0

2 个答案:

答案 0 :(得分:2)

我真的不明白你想要获得什么 无论如何,我尝试:

SELECT DISTINCT word FROM your_table
WHERE value = 0

如果您想按字母顺序对单词进行排序,可以执行

SELECT DISTINCT word FROM your_table
WHERE value = 0
ORDER BY word

已编辑以回应用户评论:
试试这个:

SELECT DISTINCT word,value FROM your_table
WHERE word NOT IN
  (SELECT word FROM your_table WHERE value = 1)

SELECT word, SUM(value) as tot FROM your_table
GROUP by word
HAVING SUM(value) = 0

答案 1 :(得分:0)

的内容
select word,min(value) from table group by word;

如果一个单词的0和1作为值,则返回0;如果只有1,则返回1

如果您只想要'0'值,那么:

select word,value from table where value=0 group by word;