我必须检查所有行是否相同。
我的例子:
| column1 | column2 | column3 | column4 | column5 | column6 |
| Value 1 | Value 2 | Value 3 | Value 4 | Value 5 | Value 6 |
| Value 1 | Value 2 | Value 3 | Value 4 | Value 5 | Value 6 |
| Value 1 | Value 2 | Value 3 | Value 4 | Value 5 | Value 6 |
| Value 1 | Value 2 | Value 3 | Value 4 | Value 5 | Value 6 |
是否有任何函数可以直接执行此操作,而无需运行任何类型的循环
我可以使用循环来完成此操作,但想知道是否有更好的方法而不使用列名
答案 0 :(得分:2)
您可以计算不同组合的数量。如果它不止一个,并非所有行都相同:
SELECT COUNT(DISTINCT column1, column2, column3, column4, column5, column6)
FROM mytable
答案 1 :(得分:2)
没有这样的功能。然而,不应该涉及循环机制。相反,您可以运行一个select语句,根据所有列进行分组,然后获取所有组的计数:
select count(s.cntAll)
from (
select count(*) as cntAll
from yourTable
group by column1, column2, column3, column4, column5, column6
) s
如果计数(s.cntAll)= 1,则验证行完全相同。