我在SQL中有以下排序问题.
SELECT time, orderValue
FROM orders
ORDER BY time
Run Code Online (Sandbox Code Playgroud)
问题是时间用以下格式的字符串表示:
May 2012
June 2012
...
June 2013
Run Code Online (Sandbox Code Playgroud)
然而,ORDER BY子句按字母顺序对问题进行排序(这并不奇怪,因为它被定义为字符串).如何根据年份和月份以正确的顺序对此进行排序?
我在MATLAB中遇到以下try和catch代码有问题:
fonster='';
while ~(~isempty(fonster) && isnumeric(fonster) && isreal(fonster) && isfinite(fonster) && (fonster == fix(fonster)) && (fonster > 0))
try
fonster = input('Välj ett heltal till fönsterplatsen du vill lägga grafen i: ');
catch
disp('Du måste mata in ett heltal');
end
end
Run Code Online (Sandbox Code Playgroud)
当输入无效输入作为输入函数的字符串时,它似乎永远不会进入代码的catch部分.相反,它只是重新运行输入并忽略我的输出消息.奇怪的是我在代码中的另一个地方使用了一个catch,但这次它不起作用.
以下是一些运行示例:
没有try和catch语句的输入:
Välj den fönsterplats du vill lägga grafen i: o
Error using input
Undefined function or variable 'o'.
Error in skapaPlot (line 11)
fonster = input('Välj den fönsterplats du vill lägga grafen i:
');
Error in mainMeny …Run Code Online (Sandbox Code Playgroud) 我试图在C++中的迭代器中访问struct元素,但编译器只是给了我一个结构不包含该元素的错误.我正在尝试执行以下操作:
typedef struct
{
string str;
int frequenzy;
} word;
bool isPresent = false;
for(std::vector<word>::iterator itr=words.begin(); itr!=words.end(); ++itr)
{
if(*itr.str.compare(currentWord)==0){
isPresent = true;
*itr.frequenzy++;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下消息:
lab7.cc: In function 'int main()':
lab7.cc:27:13: error: 'std::vector<word>::iterator' has no member named 'str'
lab7.cc:29:11: error: 'std::vector<word>::iterator' has no member named 'frequen
zy'
Run Code Online (Sandbox Code Playgroud)
为什么这不可能?