我想从同一视图中找到2个计数之间的差,即- 来自同一VIEW view_z_a_base的总计数和唯一计数之间的差异。
仅供参考-视图结构为- 表 z_a 是根据VIEW view_z_a 创建的,而VIEW view_z_a 是根据VIEW view_z_a_base 创建的。
查询正在执行-const wrapper = item => {
switch ([item.type,item.name].join()) {
case ['Url','Website'].join():
return Text(values.Website)
case ['Email','Email'].join():
return Text(values.Email)
case ['Mobile','TelegramPhoneNumber'].join():
return Mobile(values.TelegramPhoneNumber)
case ['Phone','Phone1'].join():
return Phone(values.Phone1)
case ['Phone','Phone2'].join():
return Phone(values.Phone2)
default:
return Text(values[4])
}
}
// Ignore these, it's just to don't make it crash.
const Text = i => i;
const Phone = i => i;
const Mobile = i => i;
const values = { Website: 'Website', Email: 'Email', TelegramPhoneNumber: 'TelegramPhoneNumber', Phone1: 'Phone1', Phone2: 'Phone2', 4: '4'};
// Endignore.
// Tests
const testFirst = { type: 'Url', name: 'Website', values };
const testThird = { type: 'Mobile', name: 'TelegramPhoneNumber', values };
const testDefault = {type: 'Hello', name: 'World', values };
console.log(wrapper(testFirst)); // Website expected
console.log(wrapper(testThird)); // TelegramPhoneNumber expected
console.log(wrapper(testDefault)); // 4 expected
2个计数的差异-
SELECT COUNT(*) -(SELECT COUNT(*)FROM (SELECT DISTINCT * FROM
<schema>.vw_z_a_base))AS no_of_duplicates
FROM <schema>.vw_z_a_base;
?column?
0
同一查询适用于表,但不适用于视图,为什么会发生这种情况?
答案 0 :(得分:0)
我遇到了类似的错误,最终在我的情况下主要是与类型转换有关。包含在 b/c 下方,确实有针对此错误的三个 google 结果,因此希望它可以帮助某人。在您的情况下,我怀疑它与 SELECT COUNT(*)FROM (SELECT DISTINCT * FROM <schema>.vw_z_a_base)
元素有关。我认为您可能在这里采取了不必要的步骤,这可能会返回一些 SQL 很难执行减法的东西。您应该能够消除此处的嵌套选择,这也使内容更易于阅读。试试:
SELECT COUNT(*) - COUNT(DISTINT *) as no_of_duplicates from <schema>.vw_z_a_base
回到我的案例,我的代码来自:
case when coalesce(allup_charges,0) > 156.04 then 1
到:
case when coalesce(allup_charges::numeric,0)>156.04 then 1
这解决了我的问题。我还发现 mysqlworkbench 在这里的类型转换比 tableau 少得多。如果你继续遇到这个问题只是过度类型化,你应该没问题?