计算具有相同值的字段

时间:2013-10-15 20:37:30

标签: mysql

例:

我有一个HUGE Query,union带来了大量数据,在这些数据中,我想知道,同一个人的记录只存在于字段{{1}中的次数,像:

加布里埃尔
- 记录1
- 记录2
- 记录3

若昂
- 记录1
- 记录2
- 记录3

所以Gabriel和João每个人在我的name中都有3个数据行,我需要有另一个字段,它会重复多次,但我也需要同时拥有所有行,这就是为什么我RecordSet使用Can NOT

更新 MySql视图

1 个答案:

答案 0 :(得分:1)

既然你有一个包含复杂逻辑的视图,你可以构建一个这样的查询来获得你想要的东西:

SELECT vt.*, vtij.nome_count
FROM view_teste vt
    INNER JOIN (SELECT Nome, count(1) as nome_count FROM view_teste
        WHERE [additional_filter_conditions]
            GROUP BY Nome) vtij on vtij.Nome = vt.Nome
WHERE [additional_filter_conditions]

附加说明:(1)这可能不具备效果,但值得尝试,因为您没有发起此查询!优化此查询将是一个野兽。 (2)您的视图中有一个ORDER BY子句,这是一个不必要的性能命中。您应该删除它并在查询中执行所需的ORDER BY,而不是在视图中。