让我们在应用程序级别获取一个大小为 n 的 id 数组。例如 [132,3425,13,13,... 392] 其中 n 大于 100k 个条目。其中一些条目是重复的。
我需要检查所有这些寄存器是否都包含在包含超过 5M 条目的 MySQL 表中。
现在我正在一个一个地检查,但是这个过程需要很长时间。
我如何在一次检查中进行此验证,或者如何提高效率。
我想知道是否所有这些都存在于桌子上,并且如果可能的话,知道该桌子上尚不存在哪些。
我有一个带有复杂列的查询,我想在另一列中使用此列结果,例如:
SELECT ( /* Complex query */ ) as myValue, if( myValue > 10, "OK" , "" ) from table;
Run Code Online (Sandbox Code Playgroud)
但他的查询返回一个错误:
Error Code: 1054. Unknown column 'myValue' in 'field list
Run Code Online (Sandbox Code Playgroud)
如何重用已计算的字段?
我确实有一张休闲表:
id name value
1 Daniel 3
2 Daniel 7
3 Daniel 2
4 Carol 9
5 Carol 4
6 Carol 9
7 Ray 5
8 Charles 1
Run Code Online (Sandbox Code Playgroud)
我想在如下表中获取第一个和最后一个值(按 排序id
):
name value_1st value_last
Daniel 3 2
Carol 9 9
Ray 5 NULL
Charles 1 NULL
Run Code Online (Sandbox Code Playgroud)
如何编写查询以获取按名称分组并按 id 排序的最后一次和第一次出现的值,像这样?