嗨,并提前致谢。如何统计和选择多列记录count = 1
试图简化两个SQL语句,但没有取得太大的成功。在表
- 计数唯一的记录(通过独特的,我指的是整个记录在表中发现,只有一次)
- 选择表格中的唯一记录(通过独特的,我指的是整个记录才发现一次在表中)
由于表有30列,是否有一些方法可以简单地指定表中的所有列,而不必将所有列单独包含在SQL中?
我得到这个工作,你拼写出每列名(其中“山口ñ名”指的是最后一列),但因为刚好有那么多的列是不理想......
SELECT col 1 name, col 2 name, col 3 name, …, col n name FROM table name
GROUP BY col 1 name, col 2 name, col 3 name, …, col n name
Having Count(*)=1
感谢 deutz
在大多数数据库,你必须指定所有列。如果您不想输入名称,则可以使用架构元数据来获取名称。 –
对于#2,你可以使用'SELECT DISTINCT',它至少不需要再次重复列名的完整列表的'GROUP BY'子句。 –
谢谢戈登和蒂姆。 Tim,我认为DISTINCT会得到每条记录中的一条,而不管它在表格中出现多少次。我只需要在表格中只出现一次的记录。不幸的是,我不认为你可以在WHERE子句中指定COUNT = 1。 – deutz