小编out*_*tis的帖子

选择MySQL中列表的子集

我是一个很好的人,我有两个表:"产品"和"产品属性".

这是一些虚构的数据(实际的东西涉及更多的表格)

产品表:

product_id | product_name                  
10         |   aaa                           
11         |   bbb   
12         |   ccc
Run Code Online (Sandbox Code Playgroud)

产品属性表:

attribute_id | product_id
      21     |    10         
      23     |    10         
      24     |    10         
      21     |    11         
      24     |    11         
      21     |    12         
      25     |    12         
Run Code Online (Sandbox Code Playgroud)

每个产品都有多个可能的属性.我有一个属性ID列表,(21,10,25)我需要选择其属性是该列表子集的所有产品.

是否可以在一个查询中执行此操作?

当我过滤(21,24)所需的输出是仅返回产品11(bbb)

当我过滤(21,23,24)时,所需的输出是返回产品10和11.

当我过滤(21)时,所需的输出是不返回(因为所有产品至少有一个其他属性).

mysql select

8
推荐指数
1
解决办法
3915
查看次数

如何限制小数点后printf显示的位数?

我写了一个小程序,它读取两个整数scanf,然后执行各种算术运算.我printf用来显示结果.如何printf在小数点后仅显示两位数?从简化的代码示例开始:

#include <stdio.h>

int main(void)
{
    double third = 1.0 / 3.0;

    // display data  
    printf("\n%20s%20s", "Description", "Data");
    printf("\n%20s%20s", "-----------", "----");
    printf("\n%20s%20lf", "One third", third);
    printf("\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这将打印"0.333333"的值third.我如何改变以上输出以获得以下输出?

         Description                Data
         -----------                ----
           One third                0.33

c decimal

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

为什么 MacOS 上的 Matplotlib 3.6.0 在显示绘图时会抛出“AttributeError”?

我有以下简单的代码:

import matplotlib.pyplot as plt
x = [1,2,3,4]
y = [34, 56, 78, 21]
plt.plot(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但将我的 MacBook Pro 更换为 M1 芯片后,出现以下错误:

Traceback (most recent call last):
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/main.py", line 291, in <module>
    plt.plot(x, y)
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 2728, in plot
    return gca().plot(
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 2225, in gca
    return gcf().gca()
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 830, in gcf
    return figure()
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/_api/deprecation.py", line 454, in wrapper
    return func(*args, **kwargs)
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", line 771, in figure
    manager = new_figure_manager(
  File "/Users/freddy/PycharmProjects/TPMetodosNoParametricos/venv/lib/python3.8/site-packages/matplotlib/pyplot.py", …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

8
推荐指数
2
解决办法
3692
查看次数

DOM节点子集合 - 有什么区别?

节点的children和childNodes集合之间有什么区别?还有childElementCount和childNodes.length?

javascript dom nodes

7
推荐指数
1
解决办法
4202
查看次数

重新定义Mathematica中的非交换乘法

Mathematicas NonCommutativeMultiply(**)不简化术语

a**0=0**a=0  
a**1=1**a=a  
Run Code Online (Sandbox Code Playgroud)

要么

a**a=a^2.  
Run Code Online (Sandbox Code Playgroud)

我想重新定义**这样做.我正在使用NCAlgebra来做这个,但我需要ReplaceRepeated(//.)和NCAlgebra,正如他们的文档所说,在mathematica中特别打破了这个功能.

有些人可以告诉我如何清除属性**并重新定义这个乘法做正常做的事情加上处理1和0.我真的不需要乘法来处理a**a,但如果它足够简单会很好.我需要**处理的主要问题是1和0.

wolfram-mathematica

7
推荐指数
1
解决办法
2484
查看次数

如何在OpenOffice.Org Calc中的单元格公式中调用Python宏?

为了扩展OpenOffice的功能,我在用户脚本目录(〜/ Library/Application Support/OpenOffice.org/3/user/Scripts/python /,在我的例子中)的文件中定义了一些Python宏.这些宏在Python宏管理器中可见.但是,使用单元格公式中的函数会导致"#NAME?" (OO.org错误 525).

假设我已经定义了以下函数:

def pytype(val):
    return str(type(val))
Run Code Online (Sandbox Code Playgroud)

我怎样才能调用pytype单元格公式(例如=PYTYPE("string"))?

背景

我将一些来自Authorize.net的数据导入MySQL数据库进行分析.MySQL无法将Authorize.net使用的日期和时间格式解析为一个DATETIME或多个TIMESTAMP字段,因此我试图将数据按到MySQL可以在导入之前处理的格式.OpenOffice也不会将数据识别为日期和时间,并且据我所知,OO.Org没有通用的日期解析功能.因此,我正在扩展OO.org的能力.

还有其他方法可以解决这个问题.例如,我还可以尝试使用其他列修复MySQL导入后的数据.事实上,这是我第一次做的事情; 但是,现在表中存在的数据可以应对.因此,并且因为将来还有其他任务我希望通过在公式中使用宏来实现,现在我最感兴趣的是在公式中调用Python宏.

python openoffice-calc

7
推荐指数
2
解决办法
5139
查看次数

将 null 传递给不可为 null 的内部函数参数 - 将现有代码库更新到 php 8.1

我刚刚开始升级我的代码以兼容 php 8.1。我有很多代码片段,其中我将潜在的空值传递给内部函数。

if (strlen($row) > 0) {
   ...
} 
Run Code Online (Sandbox Code Playgroud)

其中 $row 来自可能具有空值的源(例如查询)。这可能会生成弃用警告;在这种情况下:

已弃用:strlen():已弃用将 null 传递给字符串类型的参数 #1 ($string)

我正在寻找最简单、最省时的方法来处理升级此代码,例如修复可以进行全局搜索和替换的位置。似乎对我传递给内部函数的变量进行类型转换可以在不改变功能的情况下工作。

error_reporting(E_ALL);
$row = null;

if (strlen((string) $row) > 0) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

除了以这种方式编码的道德方面之外,这种内部功能方法是否存在问题?有没有更好的方法(除了完全重写代码并以不同的方式处理空值之外)?我更喜欢这个向后兼容 v7.4 的解决方案,尽管我可能会兼容 8.0。

我知道我的用户定义函数还有其他选择。

php null php-8.1

7
推荐指数
2
解决办法
6549
查看次数

为什么这个自旋锁需要 memory_order_acquire_release 而不是仅仅获取?

// spinlockAcquireRelease.cpp

#include <atomic>
#include <thread>

class Spinlock{
  std::atomic_flag flag;
public:
  Spinlock(): flag(ATOMIC_FLAG_INIT) {}

  void lock(){
    while(flag.test_and_set(std::memory_order_acquire) ); // line 12
  }

  void unlock(){
    flag.clear(std::memory_order_release);
  }
};

Spinlock spin;

void workOnResource(){
  spin.lock();
  // shared resource
  spin.unlock();
}


int main(){

  std::thread t(workOnResource);
  std::thread t2(workOnResource);

  t.join();
  t2.join();

}
Run Code Online (Sandbox Code Playgroud)

注释中说:

如果两个以上的线程使用自旋锁,则 lock 方法的获取语义是不够的。现在lock方法是一个获取-释放操作。因此第 12 行 [对 的调用] 中的内存模型flag.test_and_set(std::memory_order_acquire)必须更改为std::memory_order_acq_rel

为什么这个自旋锁适用于 2 个线程,但不适用于超过 2 个线程?导致此自旋锁出错的示例代码是什么?

来源: https: //www.modernnescpp.com/index.php/acquire-release-semantic

c++ multithreading mutex atomic spinlock

7
推荐指数
1
解决办法
421
查看次数

如果没有IB中的移位修改器,如何轻松设置使用需要移位的字符的菜单项等效键?

设置:

在Interface Builder 3.2.5中,当您使用使用shift键输入的字符(例如问号)设置菜单项的等效键时,等效键设置为同一键上的未移位字符修饰符作为键等价的一部分.例如,尝试设置密钥等效.到Command-Question Mark将其设置为Command-Shift-Forward Slash.

各种系统US和Dvorak布局,Unicode Hex输入,英国和加拿大英语布局以及我的自定义Dvorak布局都表现出这种行为.

问题:

如何将等值设置为需要使用shift键而不包含shift修饰符作为等效的一部分的角色?

解决方法:

可以通过切换到键盘布局来完成,您可以在不使用shift的情况下键入所需的字符.也可以通过编辑包含菜单的nib文件来完成.然而,这些都没有我想要的轻松程度.它可以通过编程方式完成,但(为了这个问题的目的)我只对如何在IB中完成它感兴趣.


到目前为止,Apple的文档和网络搜索都没有发现.如果有任何在线资源回答此问题,请告诉我.

macos keyboard-shortcuts interface-builder

6
推荐指数
1
解决办法
1124
查看次数

mysql交叉连接,但没有重复对?

假设我的表中有以下行

表行

id
63
64
65
66
67
68

如果我运行以下查询,我会得到30行.

SELECT r1.id, r2,id 
  FROM rows AS r1 
    CROSS JOIN rows AS r2 
  WHERE r1.id!=r2.id
Run Code Online (Sandbox Code Playgroud)

结果:

63  64
65  64
66  64
67  64
68  64
64  63
65  63
66  63
67  63
68  63
63  65
64  65
66  65
67  65
68  65
63  66
64  66
65  66
67  66
68  66
63  67
64  67
65  67
66  67
68  67
63  68
64  68
65 …

mysql cross-join

6
推荐指数
1
解决办法
7344
查看次数