小编Pie*_*ume的帖子

如何在关系代数中用 HAVING COUNT(*)>1 表示 GROUP BY?

在考试中,我被要求以 SQL 查询和代数表达式的形式获取拥有不止一笔租金的客户列表。

由于某些原因,更正没有提供代数版本。

所以现在我只剩下:

SELECT IdClient, Name, ...
FROM Client
WHERE IdClient IN (
    SELECT IdClient 
    FROM Rental
    GROUP BY IdClient
    HAVING COUNT(*) > 1
)
Run Code Online (Sandbox Code Playgroud)

我不知道代数符号是否有标准,因此:

  • ? 投影
  • × 笛卡尔积
  • ? 自然连接
  • ? 选择

然后我翻译成:

? IdClient, Name, ... (
    ? (count(IdClient)>1) (? Rental) ? (Client ? Rental)
)
Run Code Online (Sandbox Code Playgroud)

但我找不到任何来源来证明我是对还是错,尤其是对于:

  • 数学背后的逻辑
  • ? Rental 看起来像一个阴暗的生意

count()https://cs.stackexchange.com/questions/29897/use-count-in-relational-algebra看到了使用,虽然它的使用方式不同,但我想不出一种使用方法它没有投影(我想避免。)

sql relational-algebra

5
推荐指数
1
解决办法
1万
查看次数

在带有 encore 的 symfony 项目中,如何设置 Jest?

我有一个与 webpack-encore 和 babel 一起使用的 symfony 5 项目

一开始,我在 webpack.config.js 中激活了 babel :

.configureBabelPresetEnv((config) => {
    config.useBuiltIns = 'usage';
    config.corejs = 3;
})
Run Code Online (Sandbox Code Playgroud)

在通过 encore dump 生成的配置后,我似乎来制作这个 babel.config.js 文件:

module.exports = {
  'presets': [
    [
      '@babel/preset-env',
      {
        'modules': 'auto', # this line was set to false, which made the whole thing bug
        'targets': {
          node: 'current',
        },
        'useBuiltIns': 'usage',
        'corejs': 3,
      },
    ],
    '@babel/react',
  ],
  'plugins': [
    '@babel/plugin-syntax-dynamic-import',
  ],
};
Run Code Online (Sandbox Code Playgroud)

在尝试了每个选项后,我尝试在没有 babel 配置文件的情况下启动 Jest,但将

.configureBabelPresetEnv((config) => {
    config.modules = 'auto'; …
Run Code Online (Sandbox Code Playgroud)

symfony jestjs babeljs webpack-encore

5
推荐指数
1
解决办法
622
查看次数

std :: less <int>的正确参数类型是什么?

我正在制作一个类 - 一个BST - 可以比较模板化节点,这需要比较器,例如std::less.

树是这样的:

template<typename T, typename comparator>
class tree
{
private:
    comparator compare;
public:
    explicit tree (comparator functor);
};
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到我应该在我的应用程序中输入的模板类型.

tree<int> my_bst (std::less<int>);

error: wrong number of template arguments (1, should be 2)
 bst::tree<int> my_bst (std::less<int>);
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为我的模板类型不完整.

我该如何描述我的构造函数?

是什么命名模板的属性?因为我发现的所有内容都是cppreferencesort上的页面.

通常情况下,我可以使用sort像这样

std::vector<int> v;
std::sort(v.begin (), v.end (), std::less<>());
Run Code Online (Sandbox Code Playgroud)

为什么推断出less的专业化?我怎么能复制那个?

c++ templates

4
推荐指数
1
解决办法
287
查看次数

如何在类声明之外定义 sfinae 类的成员?

在阅读了诸如sfinae on member function Defined Outside of Class Body(这不是同一个问题)等问题之后,我仍然没有找到在使用时在类声明之外定义成员函数主体的好方法SFINAE 方法仅启用具有算术类型的类。

#include <type_traits>

template <typename T,typename = typename std::enable_if<std::is_arithmetic<T>::value,T>::type>
class foo
{
public:
    void bar();
};

template <typename T>
void foo<T>::bar ()
{
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,我收到错误:

error: invalid use of incomplete type 'class foo<T>'
void foo<T>::bar ()
^
error: declaration of 'class foo<T>'
class foo
^
Run Code Online (Sandbox Code Playgroud)

而如果我这样声明:

#include <type_traits>

template <typename T,typename = typename std::enable_if<std::is_arithmetic<T>::value,T>::type>
class foo
{
public:
    void bar()
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

它运行起来没有任何问题。

我正在使用 mingw-w64 (w64 3.3) 来编译此代码。

templates sfinae c++11

2
推荐指数
1
解决办法
660
查看次数

什么可以导致jQuery选择器在document.ready从控制台工作后失败?

我使用jQuery从DOM中选择一个(唯一的)ID:

$(document).ready(
    alert("length :" +$("#btn").length)
);
Run Code Online (Sandbox Code Playgroud)

当页面仍然是白色时触发警报(我不知道它是否改变了什么),并且没有选择任何内容(len为0).

当我在控制台中复制/粘贴警报时,当网站"可视"准备好时,警报会给出"长度:1"作为结果.

由于某些原因,document.ready或选择器都不起作用.

我使用jQuery 3.2.1.

按钮本身就是这样的:

<ul class="nav navbar-nav">
    <li class="active"><a href="#">abc</a></li>
    <li><button class="btn btn-primary" type="button" id="btn">said button</button></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

javascript jquery selector document-ready

0
推荐指数
1
解决办法
124
查看次数