有一些代码:
SELECT shop_id, COUNT(DISTINCT promotion_code) as total_entries FROM tbl GROUP BY shop_id
我知道前缀和后缀运算符。但是,您能解释一下这些表达式中的操作顺序吗?
答案 0 :(得分:1)
Java总是从左到右。所以你的代码是:
a = 1111;
a = 1111 - 1109 //2
a = 1111;
a = 1111 + 1113 //2224
a = 1111;
a = 1111 - 1109 //2
a = 2 + 4 //6
普通英语翻译:
a = a-- - --a
获取存储在a
中的值,稍后递减该值,但不要更改已存储的值,然后减去a
的当前值,但只是减去它之前的片刻。将结果存储在a
。
答案 1 :(得分:1)
a = a-- - --a; //1111 - 1109 = 2
a = a++ + ++a; // 2 + 4 = 6
第一行:a--被评估为1111,然后递减到1110,然后--a递减到1109并评估为1109。
第二行:a ++被评估为2,然后递增到3,然后++ a递增到4并评估为4.